第九章查找讲述.ppt

在二叉排序树上查找其关键字等于给定值的结点的过程,恰是走了一条从根结点到该结点的路径的过程,和给定值比较的关键字个数等于路径长度加1(或结点所在层次数),与给定值比较的关键字个数不超过树的深度 最好的情况是二叉排序树的形态和折半查找的判定树相同,其平均查找长度和log2n成正比 为了向二叉排序树中插入一个新元素,必须先检查这个元素是否在树中已存在。 在插入之前,先使用查找算法在树中检查要插入元素存不存在。 查找成功: 树中已有这个元素,不再插入。 查找不成功: 树中原来没有关键字等于给定值的结点,把新元素插入到查找操作停止的地方。 【例8-5】 设有11个记录的关键字,其值分别为 6,37,12,21,69,31,16,33,41,13,51。选取关键字与记录位置间的函数为 Hash(key)=key % 11 建立的哈希查找表如下: 33 12 13 69 37 16 6 51 41 31 21 对于n个数据元素的集合,总能找到关键字与存放地址一一对应的函数。但当key1≠key2,而Hash(key1)=Hash(key2)时,即将不同的关键字映射到同一个哈希地址上,这种现象称为冲突,映射到同一哈希地址上的关键字称为同义词。可以说,冲突是不可能避免的,只能尽可能减少。因此选取适当的哈希函数很关键。 0 1 2 3 4 5 6 7 8 9 10 地址 关键字 8.4.

文档评论(0)

1亿VIP精品文档

相关文档