数据结构讲义本科课件ch09search.pptxVIP

  • 1
  • 0
  • 约2.93千字
  • 约 101页
  • 2021-07-19 发布于北京
  • 举报
第九章 查找;第九章 查找;9.1 查找的基本概念;9.1 查找的基本概念(续);9.1 查找的基本概念(续);9.1 静态查找表;9.1.1 顺序查找;9.1.1(续) 顺序查找;9.1.1(续) 无序表上的顺序查找;平均查找长度;9.1.1(续) 无序表上的顺序查找;9.1.1(续) 有序表上的顺序查找;9.1.1(续) 有序表上的顺序查找;9.1.1(续) 有序表上的顺序查找;9.1.1(续) 有序表上的顺序查找;9.1.1(续) 有序表上的顺序查找;9.1.1(续) 有序表上的顺序查找;9.1.1(续) 有序表上的顺序查找;9.1.1(续) 有序表上的顺序查找;9.1.1(续) 有序表上的顺序查找:失败;静态查找表;9.1.2 有序顺序表上的折半查找;9.1.2(续) 有序顺序表上的折半查找;9.1.2(续) 有序顺序表上的折半查找;9.1.2(续) 有序顺序表上的折半查找:成功;9.1.2(续) 有序顺序表上的折半查找;9.1.2(续) 有序顺序表上的折半查找;9.1.2(续) 有序顺序表上的折半查找;9.1.2(续) 有序顺序表上的折半查找;9.1.2(续) 有序顺序表上的折半查找:失败;9.1.2(续) 有序顺序表上的折半查找;9.1.2(续) 折半查找算法;9.1.2(续) 折半查找法;9.1.2(续) 折半查找判定树;9.1.2(续) 折半查找判定树;9.1.2(续) 查找失败;9.1.2(续) 查找失败;9.1.2(续) 折半查找判定树;9.1.2(续) 折半查找算法;9.1.2(续) 折半查找判定树;9.1.2(续) 折半查找判定树n=11;9.1.2(续) 折半查找判定树n=11;9.1.2(续) 折半查找的效率分析;9.1.2(续) 折半查找的效率分析;9.1.2(续) 折半查找的效率分析;9.1.4 索引顺序表的查找;9.1.4(续) 索引顺序表的查找:分块查找;9.1.4(续) 索引顺序表的查找:分块查找;9.1.4(续) 索引顺序表的查找:分块查找;完全二叉树n=11;9.2 动态查找表;9.2.1 二叉排序树和平衡二叉树;9.2.1(续) 二叉排序树图示;9.2.1(续) 二叉排序树的查找运算;9.2.1(续) 二叉排序树的查找算法;9.2.1(续) 二叉排序树的插入运算;9.2.1(续) 二叉排序树的插入算法;9.2.1(续) 二叉排序树的特点;9.2.1(续) 二叉排序树的删除运算;9.2.1(续) 二叉排序树的删除运算;9.2.1(续) 二叉排序树的删除运算;9.2.1(续) 二叉排序树的删除运算;9.2.1(续) 二叉排序树的删除运算;9.2.1(续) 二叉排序树的删除运算;9.2.1(续) 二叉排序树的删除运算;9.2.1(续) 二叉排序树的删除运算;9.2.1(续) 二叉排序树的删除运算;9.2.1(续) 删除两个子树均不空的*p结点;9.2.1(续) 删除两个子树均不空的*p结点;9.2.1(续) 二叉排序树的查找性能;9.2.1(续) 二叉排序树的查找性能(续);9.2.1(续) 二叉排序树的查找性能(续);9.2.1(续) 二叉排序树的形态;9.2.1(续) 二叉排序树的形态(续);9.3 哈希表(散列表 ); 假设有一批关键字序列18,75,60,43,54,90,46,给定哈希函数H(k)=k % 13,存贮区的内存地址从0到15,则可以得到每个关键字的散列地址为: H(18) = 18%13 = 5 H(75) = 75%13 = 10 H(60) = 60%13 = 8 H(43) = 43%13 = 4 H(54) = 54%13 = 2 H(90) = 90%13 = 12 H(46) = 46%13 = 7 于是,根据散列地址,可以将上述7个关键字序列存贮到一个一维数组HT(哈希表或散列表)中,具体表示为:;9.3.1 哈希表基本概念;9.3.1 哈希表基本概念;9.3.1 哈希表基本概念;9.3.1 哈希表基本概念;9.3 哈希表(散列表 );9.3 哈希表(散列表 );9.3 哈希表(散列表 );9.3 哈希表(散列表 );9.3 哈希表(散列表 ); 5.除留余数法(续) 除留余数法计算简单,适用范围广,是一种最常使用的方法。这种方法的关键是选取较理想的p值,使得每一个关键字通过该函数转换后映射到散列空间上任一地址的概率都相等,从而尽可能减少发生冲突的可能性。一般情形下,取p为一个素数较理想。经验表明, p为1.1n~1.7n之间的一个素数较好,其中n为哈希表中待装入的元素个数。;9

文档评论(0)

1亿VIP精品文档

相关文档