- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 查找与排序综述
第十一章 查找和排序;本章内容;查找的基本概念;顺序查找 ;? 实现一:顺序表类中实现顺序查找的成员函数;? 实现二:单链表类中实现顺序查找的成员函数;顺序查找的平均查找长度
评价:在用顺序查找方法完成查找时,每进行一次成功查找需要的平均比较次数约为表长度的一半,因此,它的效率较低。适用于在查找表较小的情况下进行查找。
;二分查找(折半查找);1.设表长为n,low、high和mid分别指向待查元素所在区间的上界、下界和中点,k为给定值。2.初始时,令 low = 0,high = n - 1,mid= ?(low+high)/2? 让 k 与 mid 指向的记录比较 若 k == r[mid] ,查找成功 若 k r[mid] ,则high = mid - 1 若 k r[mid] ,则low = mid + 13.重复上述操作,直至low high时,查找失败。;二分查找过程;low;例key = 70 的查找过程;5 13 19 21 37 56 64 75 80 88 92;例:二分查找函数模板及其测试程序;例:用递归方法实现二分查找函数模板;二分查找;二分查找优缺点;搜索算法的效率;N和log2N的值;二叉排序树查找;二叉排序树;50;? 插入操作:;? 设有整数序列{47,23,56,15,26,89},将其中的值依次插入二叉排序树;? 删除操作:; 情况三:被删除的结点有两棵非空的子树;50;? 查找操作:;在二叉排序树中查找关键字值等于50,35,90,95;? 二叉排序树的蜕变:;哈希查找;哈希表;哈希存储(哈希表) ;? 采用哈希技术要解决的两个主要问题:;哈希表; 解决冲突的方法:开放地址法和链地址法;设哈希表的长度11,哈希函数是h(k) = k % 11,将整数序列{54,77,94,89,14,45,76}存入哈希表。按线性探查法处理冲突;设哈希表的长度11,哈希函数是h(k) = k % 11,将整数序列{54,77,94,89,14,45,76}存入哈希表。按平方探查法处理冲突;将所有哈希地址相同的记录都链接在同一单链表中。
哈希表中的每个存储单元中不再存放数据元素而是存放相应单链表的头指针.
例:给定关键字{19, 1, 23, 14, 55, 68, 11, 82, 36}
哈希函数为 H(key) = key % 7 ;例:给定关键字{ 19, 1, 23, 14, 55, 68, 11, 82, 36 }
哈希函数为 H(key) = key % 7 ;哈希查找;排序的基本概念;插入排序;直接插入排序;直接插入排序 ; 16;例:;? 直接插入排序的函数模板示例:;算法分析;二分插入排序;? 二分插入排序的函数模板示例:;选择排序 ;直接选择排序;直接选择排序 ;直接选择排序 ;未排序;?直接选择排序函数模板:;冒泡排序;冒泡排序(交换排序);冒泡排序;#include iostream.h
void main(){
int a[10];
for(int i= 0 ; i 10 ; i ++)
cin a[i];
int temp;
for(i = 0 ; i 10; i++)
for(int j = 0 ; j 10 - i - 1; j++) if(a[j] a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1]= temp;
}
};#include iostream.h
void main(){
int a[10];
for(int i = 0; i 10 ; i++)
cin a[i];
bool change = true;
int temp;
for(i = 0 ; i 10 change ; i++){
change = false; //标志置为假,假设未交换
for(int j = 0 ; j 10 – i – 1 ; j++)
if(a[j] a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
change = true; //标志置为真,有交换
}
}
};算法分析;97;27;第三趟排序结束; 冒泡排序函数模板:;快速排序;71;void main(){
int a[]={45,90,37,60,87,
您可能关注的文档
- banner常见版式构图及案例讲述.pptx
- 第11章 软件项目管理综述.pptx
- 第11章 FTP 服务器综述.ppt
- A匝道15墩立柱首件总结讲述.docx
- 第11章 DMA技术与DMA控制器综述.ppt
- be 的用法口诀讲述.doc
- Axure使用_详解讲述.docx
- 第11章 人工气道管理器械综述.ppt
- BEI在面试中的应用讲述.pptx
- BGL碎煤熔渣气化技术在煤制天然气工业中的应用ori讲述.doc
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
最近下载
- 高中-英语-北师大版(2019)-Unit3Viewingworkshop同步教学设计【新教材】北师大版(2019)必修第一册.docx VIP
- 2023-2024学年八年级语文下学期期末复习题型专练非连续性文本阅读(原卷版+解析版).docx VIP
- 2024年海南省海口市龙华区海南华侨中学自主招生地理试题.docx VIP
- (三模)豫西北教研联盟 (平许洛济)2024—2025学年高三第三次质量检测化学试卷(含答案).pdf
- 中考数学压轴题100题(全).docx
- 石油钻井工初级.pdf
- 基于AT89S52单片机的脉搏测量器设计.doc VIP
- 微分中值定理在实际生活中的应用.doc
- 2023年版:重症患者气道廓清技术专家共识.docx
- 《马克思主义基本原理概论》对立统一规律.ppt
文档评论(0)