• 《C Primer Plus》读书笔记(四十六)

    日期:2010-06-27 | 分类:编程窥探

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/riusksk-logs/67327711.html

    172. 为类型的属性和可对类型执行的操作提供一个抽象的描述,这样一种正式的抽象描述被称为抽象数据类型(ADT)。

    173. 把实现和最终接口相隔离的做法对于大型编程工程来说尤其有用,这称为数据隐藏,因为详细的数据表示对终端用户是不可见的。

    174. 用抽象数据类型方法进行C语言编程包含下面三个步骤:

    1. 以抽象、通用的方式描述一个类型,包括其操作。

    2. 设计一个函数接口来表示这种新类型。

    3. 编写具体代码以实现这个接口。

    175. 队列是具有两大特殊属性的列表。第一,新的项目只能被添加到列表结尾处;第二,项目只能从列表开始处被移除,它是一种“先进先出”的数据形式。

    176.

    向数组插入一个元素,必须移动其他元素以便安插新元素,新元素离数组头越近,要移动的元素越多。而向链表插入一个节点,只需分配两个指针值。类似地,从数组中删除一个元素要重新安置大量元素,而从链表中删除一个节点只需重新设置一个指针并释放被删除节点使用的内存。对数组来说,可以用数组索引直接访问任意元素,这被称为随机访问。对链表来说,必须从列表头开始,逐个节点地移动到所需的节点处,这叫做顺序访问。数组也可以顺序访问,只要在数组中按顺序使用数组索引递增即可。

    177. 折半搜索法:n次比较能处理具有2n-1个成员的数组。

    178. 二叉搜索树:一种既支持频繁地插入和删除元素又支持频繁搜索的数据类型,链表和数组都不是针对这个目标的理想选择。

    179. 删除节点:

     

    分享到: