《数据结构C语言版》----第11章ppt课件.ppt

《数据结构C语言版》----第11章ppt课件.ppt

ID:58864747

大小:747.50 KB

页数:68页

时间:2020-09-30

《数据结构C语言版》----第11章ppt课件.ppt_第1页
《数据结构C语言版》----第11章ppt课件.ppt_第2页
《数据结构C语言版》----第11章ppt课件.ppt_第3页
《数据结构C语言版》----第11章ppt课件.ppt_第4页
《数据结构C语言版》----第11章ppt课件.ppt_第5页
资源描述:

《《数据结构C语言版》----第11章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章查找查找的基本概念静态查找表动态查找表哈希表主要知识点11.1查找的基本概念查找:查询某个关键字是否在(数据元素集合)表中的过程。也称作检索。主关键字:能够惟一区分各个不同数据元素的关键字次关键字:通常不能惟一区分各个不同数据元素的关键字查找成功:在数据元素集合中找到了要查找的数据元素查找不成功:在数据元素集合中没有找到要查找的数据元素å=×=niiiCPASL1静态查找:只查找,不改变数据元素集合内的数据元素动态查找:既查找,又改变(增减)集合内的数据元素静态查找表:静态查找时构造的存储结构动态查找表:动态查

2、找时构造的存储结构平均查找长度:查找过程所需进行的关键字比较次数的平均值,是衡量查找算法效率的最主要标准,其数学定义为:其中,Pi是要查找数据元素出现的概率,Ci是查找相应数据元素的比较次数。定义要查找数据元素的结构体为:typedefstruct{KeyTypekey;}DataType;11.2静态查找表静态查找表主要有三种结构:顺序表有序顺序表索引顺序表1.顺序表在顺序表上查找的基本思想是:从顺序表的一端开始,用给定数据元素的关键字逐个和顺序表中各数据元素的关键字比较,若在顺序表中查找到要查找的数据元素,则查找成

3、功,函数返回该数据元素在顺序表中的位置;否则查找失败,函数返回-1。查找函数设计如下:intSeqSearch(DataTypea[],intn,KeyTypekey)//在a[0]--a[n-1]中顺序查找关键码为key的数据元素//查找成功时返回该元素的下标序号;失败时返回-1{inti=0;while(i

4、顺序表有序顺序表上的查找算法主要有顺序查找和折半查找两种方法。一、顺序查找有序顺序表上的顺序查找算法和顺序表上的查找算法方法类同二、二分查找(又称折半查找)算法的基本思想:先给数据排序(例如按升序排好),形成有序表,然后再将key与正中元素相比,若key小,则缩小至前半部内查找;再取其中值比较,每次缩小1/2的范围,直到查找成功或失败为止。反之,如果key大,则缩小至后半部内查找。二分查找算法如下:intBiSearch(DataTypea[],intn,KeyTypekey)//在有序表a[0]--a[n-1]中二分

5、查找关键码为key的数据元素//查找成功时返回该元素的下标序号;失败时返回-1{intlow=0,high=n-1;//确定初始查找区间上下界intmid;while(low<=high){mid=(low+high)/2;//确定查找区间中心下标if(a[mid].key==key)returnmid;//查找成功elseif(a[mid].key

6、败为3.索引顺序表当顺序表中的数据元素个数非常大时,采用在顺序表上建立索引表的办法提高查找速度。把要在其上建立索引表的顺序表称作主表。主表中存放着数据元素的全部信息,索引表中只存放主表中要查找数据元素的主关键字和索引信息。8146910223418193140385466467178688085140034516610285153keylink下标索引表012345678910111213141516171819key其它域位置主表索引表中的数据元素由两个域构成,key域为被索引的若干个数据元素中关键字的最大值,lin

7、k域为被索引的若干个数据元素中第一个数据元素的位置编号。索引表结构图完全索引表:和主表项完全相同,但只包含索引关键字和该数据元素在主表中位置信息的索引表二级索引表:当主表中的数据元素个数非常庞大时,按照建立索引表的同样方法对索引表再建立的索引表。二级以上的索引结构称作多级索引结构等长索引表:索引表中的每个索引项对应主表中的数据元素个数相等;反之称为不等长索引表。不等长索引表中的索引长度可随着动态插入和动态删除过程改变,因此不仅适用于静态查找问题,而且也适用于动态查找问题。相关术语假设索引表的长度为m,主表中每个子表的长

8、度为s,并假设在索引表上和在主表上均采用顺序查找算法,则索引顺序表上查找算法的平均查找长度为:算法分析11.3动态查找表动态查找表主要有二叉树结构和树结构两种类型。二叉树结构有二叉排序树、平衡二叉树等。树结构有B-树、B+树等。1.二叉排序树一、基本概念----或是一棵空树;或者是具有如下性质的非空二叉树:(1)左子树的所有结点均

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。