数据结构与算法——1

1. 抽象对象和对象集

抽象对象:操作目标是一个对象,且对象类型不确定。
对象集:操作目标是一组对象,且同对象集类型相同,但类型不确定。

对于抽象对象的实现,可以使用 ADT,也可以使用 typedef 和 宏,
对于大多数应用,ADT太多繁琐,且效率相对低,所以更倾向于使用 typedef 宏

typedef int Item
#define eq(A, B) (A == B)

typedef char *Item
#define eq(A, B) (strcmp(A, B) == 0)

若抽象对象很复杂,则应该考虑ADT。

集合对象,他有多个通用操作:

  • 向集合插入一个新对象
  • 从集合删除一个对象
    为了方便,通常还包含
  • 初始化
  • 统计
  • 销毁
  • 复制

集合对象的实现 和 链表,数组,
链表,数组,树,是集合对象的实现基础,由于他们插入,遍历等操作效率不同,
所以对不同特征的集合对象的实现的效率不同。

ADT:抽象数据类型,指 只通过接口进行访问的数据类型,使用ADT的程序为客户,
ADT定义程序为实现。

上一篇:Oracle 闪回查询权限


下一篇:闪回归档