数据结构与算法(八),查找

前面介绍了基本的排序算法,排序通常是查找的前奏操作。这篇介绍基本的查找算法。

1、符号表

符号表(Symbol Table)是一种存储键值对的数据结构,它可以将键和值关联起来。支持两种操作:插入,将一组新的键值对插入到表中;查找,根据给定的键得到响应的值。

符号表,有时又称索引,是为了加快查找速度而设计。它将关键字Key和记录Value相关联,通过关键字Key来查找记录Value。在现实生活中,我们经常会遇到各种需要根据key来查找value的情况,比如DNS根据域名查找IP地址,图书馆根据索引号查找图书等等:

符号表的特征:

  • 表中不能有重复的键
  • 键和值不能为空

符号表的抽象数据类型: