《数据结构课件、代码》第6章查找表.ppt
《《数据结构课件、代码》第6章查找表.ppt》由会员分享,可在线阅读,更多相关《《数据结构课件、代码》第6章查找表.ppt(19页珍藏版)》请在三一办公上搜索。
1、第6章 查找表,张成文北京邮电大学计算机学院,数据结构-第6章 查找,2,6.1 相关概念和术语,术语查找表 同一类型的记录(数据元素)的集合。数据元素之间存在着松散的关系。为了提高查找的效率,可在元素之间人为地附加某种确定的关系。关键字 记录(数据元素)中的某个数据项的值。主关键字 该关键字可以唯一地标识一个记录。次关键字 该关键字不能唯一标识一个记录。查找 指定某个值,在查找表中确定是否存在一个记录,该记录的关键字等于给定值。静态查找表 对查找表的查找仅是以查询为目的,不改动查找表中的数据。动态查找表 在查找的过程中同时插入不存在的记录,或删除某个已存在的记录。查找成功 查找表中存在满足查
2、找条件的记录。查找不成功 查找表中不存在满足查找条件的记录。,数据项1 数据项2,记录(数据元素),数据结构-第6章 查找,3,6.2 静态查找表,6.2.1 顺序表的查找6.2.2 有序表的查找6.2.3 索引顺序表的查找,数据稳定,变动很少的查找表,数据结构-第6章 查找,4,6.2.1 顺序表的查找 静态查找表以顺序表表示,0 1 2 n ST.elem0.n a1 a2 an算法描述,typedef struct ElemType*elem;int length;SSTable;,int Search_Seq1(SSTable ST,KeyType key)i=1;while(i=ST
3、.length/Search_Seq1,int Search_Seq2(SSTable ST,KeyType key)ST.elem0.key=key;for(i=ST.length;ST.elemi.key!=key;i-);return i;/Search_Seq2,数据结构-第6章 查找,5,程序设计技巧 设置监视哨,查找时每一步不必检测位置是否越界,提高算法效率。算法特点算法简单,对表中元素排列顺序无任何要求n很大时查找效率较低改进措施:非等概率查找时,可将查找概率高的记录尽量排在表前部。逐个查找的方法也可用于线性链表表示的静态查找表,数据结构-第6章 查找,6,6.2.2 有序表的查
4、找,满足 ri.key ri+1.key,1 i n 仍可用顺序查找,但在找不到时不需比较到表尾,只需比较到比给定值大的记录就可终止。折半(对半/二分)查找法 0 1 2 3 4 5 6 7 8 9 10 11 05 13 19 21 37 56 64 75 80 88 92 low mid high=(low+high)/2 K=21 l h m K=85 l h m 1 11 6 1 11 6 1 5 3 7 11 9 4 5 4 10 11 10 10 9,数据结构-第6章 查找,7,算法描述,int Search_Bin(SSTable ST,keytype key)low=1;hig
5、h=ST.length;/置区间初值 while(low=high)mid=(low+high)/2;if(key=ST.elemmid.key)return mid;/找到待查元素 else if(key ST.elemmid.key)high=mid-1;/继续在前半区间进行查找 else low=mid+1;/继续在后半区间进行查找 return 0;/顺序表中不存在待查元素/Search_Bin,数据结构-第6章 查找,8,6.2.3 索引顺序表的查找,表的构造 索引表 index1.b 最大关键字值 22 42 86 起始地址 1 5 9 主表 r 1.n(分块有序/有序)key 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构课件、代码 数据结构 课件 代码 查找
链接地址:https://www.31ppt.com/p-5898679.html