第十七章 高级数据表示
17.1 研究数据表示
主要用结构体封装
17.2 从数组到链表
主要考虑数组成员数的不确定性
17.3 抽象数据类型(ADT)
类型属性和操作。如 int
类型:
属性:代表一个整数值;
允许的操作:改变符号、两个 int 类型相加、相减、相乘、相除、求模。
定义新类型的好方法:
- 提供类型属性和相关操作的抽象描述。这些描述即不能依赖特定的实现,也不能依赖特定的编程语言。这种正式的抽象描述被称为抽象数据类型(
ADT
)。 - 开发一个实现
ADT
的编程接口。即指明如何存储数据和执行所需操作的函数。 - 编写代码实现接口。
17.4 队列 ADT
17.5 用队列进行模拟
队列特性先进先出
17.6 链表和数组
数组和链表优缺点
数据形式 | 优点 | 缺点 |
---|---|---|
数组 |
C 直接支持;提供随机访问 |
在编译时确定大小;插入和删除元素时很费时 |
链表 | 运行时确定大小;快速插入和删除元素 | 不能随机访问;用户必须提供编程支持 |
17.7 二叉查找树
平衡树效查找率最高
17.8 其他说明
花时间查看你的系统提供什么。如果没有你想要的工具,就自己编写函数,这是 C 的一部分。如果认为自己能编写一个更好的,那就去做!随着你不断练习并提高自己的编程技术,会从一名新手称为经验丰富的资深程序员。
完结撒花 o( ̄▽ ̄)ブ