学习是要 熟练掌握顺序表和有序表的查找方法。 熟练掌握二叉排序树的构造和查找方法。 掌握二叉平衡树的维护平衡方法。 理解B-树的特点以及它们的建树过程 熟练掌握哈希表的构造方法,深刻理解哈希表 与其它结构的表的实质性的差别。 掌握描述查找过程的判定树的构造方法,以及 按定义计算各种查找方法在等概率情况下查找 成功时的平均查找长度
何谓童找裹? 查找表是由同一类型的数据元素(或记录)构成的 集合。 由于“集合”中的数据元素之间存在着松散的关系,因 此查找表是一种应用灵便的结构。 对查找表经常进行的操作: 1)查询某个“特定的”数据元素是否在查找表中; 2)检索某个“特定的”数据元素的各种属性; 3)在查找表中插入一个数据元素; 4)从查找表中删去某个数据元素
童感分提 静态查找表仅作查询和检索操作的查找表 动态查找表在查询之后,还需要将“查询”结果为 “不在查找表中”的数据元素插入到查找 表中;或者,从查找表中删除其“查询” 结果为“在查找表中”的数据元素 关键字是数据元素(或记录)中某个数据项的值, 用以标识(识别)一个数据元素(或记录)。 若此关键字识别唯一的一个记录,则称之谓“主关键 著署此关键字能识别若干记录,则称之谓“次关键字
查找根据给定的某个值,在查找表中确定一个其关键 字等于给定值的数据元素或(记录) 若查找表中存在这样一个记录,则称查找成功查找结果: 给出整个记录的信息或指示该记录在查找表中的位置 否则称查找不成功查找结果:给出空记录或空指针。 如何进行查找?查找的方法取决于查找表的结构。 由于查找表中的数据元素之间不存在明显的组织规律 因此不便于查找。为了提高查找的效率,需要在查找表 中的元素之间人为地附加某种确定的关系,换句话说, 用另外一种结构来表示查找表
查找表 Search Table:是一种以集合为逻辑结构 以查找为核心运算的数据结构。 静态查找表:只对查找表进行查询某个特定的数 据元素或某个特定数据元素的各种属性的操作。 如:查询成绩表中是否有某学生或该学生某门课 程的成绩。 动态查找表:对查找表进行插入或删除某个数据 元素的操作。如:修改某个学生某门课程的成绩 衡量查找算法的标准: (1)平均查找长度; (②)算法所需要的存储量和算法的复杂性等
平均宣找长度 定义:为确定记录在表中的位置,需和给定值进 行比较的关键字的个数的期望值叫查找算法在查 找成功时的平均查找长度。 对含有n个记录的表,ASL= 2PC 其中:为查找表中第计个元素的概率∑P=1 c为找到表中第i个元素所需比较次数 物理意义:假设每一元素被查找的概率相同,则查找每 一元素所需的比较次数之总和再取平均,即为ASL 显然,ASL值越小,时间效率越高