数据结构查找课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构查找课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 查找 课件
- 资源描述:
-
1、数据结构数据结构1 1数据结构数据结构第第9 9章章 查找查找n什么是查找?什么是查找?n静态查找静态查找n动态查找动态查找n哈希表哈希表数据结构数据结构2 2n集合关系集合关系n查找表(查找表(search tablesearch table)数据结构数据结构3 3查找的基本概念查找的基本概念 n静态查找表静态查找表(Static Search TableStatic Search Table):在使用时):在使用时主要作前两种统称为主要作前两种统称为“查找查找”的操作。即的操作。即n动态查找表动态查找表(Dynamic Search TableDynamic Search Table)数据
2、结构数据结构4 4数据结构数据结构5 5查找过程的主要操作是关查找过程的主要操作是关键字的比较,所以通常以键字的比较,所以通常以“平均比较次数平均比较次数”来衡来衡量查找算法的时间效率。量查找算法的时间效率。niiiCP1数据结构数据结构6 6静态查找表静态查找表数据结构数据结构7 7顺序表的查找(顺序查找)顺序表的查找(顺序查找),以顺序表或线性链表表示静态查找表。,以顺序表或线性链表表示静态查找表。数据结构数据结构8 8顺序查找的实现顺序查找的实现n#define LIST_INIT_SIZE 100 #define LIST_INIT_SIZE 100 /线性表存储空间的初始分配量线性表
3、存储空间的初始分配量 #define LISTINCREMENT 10 #define LISTINCREMENT 10 / /线性表存储空间的分配增量线性表存储空间的分配增量 typedef structtypedef struct ElemType ElemType * *elemelem; /; /存储空间基址存储空间基址intint length; / length; /当前长度当前长度int listsizeint listsize; /; /当前分配的存储容量当前分配的存储容量 SSTableSSTable; ; 数据结构数据结构9 9数据结构数据结构1010顺序查找算法分析顺序查
4、找算法分析1 .)1.(.21)1.(12111nniniiiPnpnPninnCP 11.pppnn数据结构数据结构11 11有序表的查找(折半查找)有序表的查找(折半查找)数据结构数据结构1212数据结构数据结构1313数据结构数据结构1414折半查找的实现折半查找的实现n折半查找的主要步骤为:折半查找的主要步骤为: (1 1)置初始查找范围:)置初始查找范围:low=1low=1,high=n high=n (2 2)求查找范围中间项:)求查找范围中间项:mid=(low+high)/2mid=(low+high)/2 (3 3)将指定的关键字值)将指定的关键字值k k与中间项与中间项a
5、mid.keyamid.key比较比较若相等,查找成功,找到的数据元素为此时若相等,查找成功,找到的数据元素为此时mid mid 指向的指向的位置;位置;若小于,查找范围的低端数据元素指针若小于,查找范围的低端数据元素指针lowlow不变,高端数不变,高端数据元素指针据元素指针highhigh更新为更新为mid-1;mid-1;若大于,查找范围的高端数据元素指针若大于,查找范围的高端数据元素指针highhigh不变,低端不变,低端数据元素指针数据元素指针lowlow更新为更新为mid+1;mid+1; (4 4)重复步骤()重复步骤(2 2)、()、(3 3)直到查找成功或查找范)直到查找成功
6、或查找范围空(围空(lowhighlowhigh),即查找失败为止。),即查找失败为止。数据结构数据结构1515索引顺序表的查找(分块查找)索引顺序表的查找(分块查找)数据结构数据结构1616数据结构数据结构1717分块查找的基本思想分块查找的基本思想数据结构数据结构1818数据结构数据结构1919数据结构数据结构2020二叉排序树二叉排序树数据结构数据结构2121数据结构数据结构2222数据结构数据结构2323 数据结构数据结构2424数据结构数据结构2525101iiicp310/ )3443221 (数据结构数据结构2626数据结构数据结构272730303030202030302020
7、4040303020204040101030302020404010102525303020204040101025254545数据结构数据结构2828 数据结构数据结构2929 Insert BST(BiTree &T, ElemTypeInsert BST(BiTree &T, ElemType e ) e )if (!SearchBST ( T, e.keyif (!SearchBST ( T, e.key, NULL, p ) / , NULL, p ) / 查找不成功查找不成功s = (BiTree)malloc(sizeof(BiTNodes = (BiTree)malloc(si
8、zeof(BiTNode););if (!s) exit(1);if (!s) exit(1); / / 存储分配失败存储分配失败s-data = e; s-lchild = s-rchilds-data = e; s-lchild = s-rchild = NULL; = NULL; if ( !p ) T = s; if ( !p ) T = s; / / 插入插入 * *s s 为新的根结点为新的根结点else if ( e.key data.keyelse if ( e.key data.key ) ) p-lchildp-lchild = s; = s;/ / 插入插入 * *s s
9、 为为 * *p p 的左孩子的左孩子else p-rchildelse p-rchild = s; = s; / / 插入插入 * *s s 为为 * *p p 的右孩子的右孩子return TRUE;return TRUE; / if / ifelse return FALSE;/else return FALSE;/树中已有关键字相同的结点,不再插入树中已有关键字相同的结点,不再插入 / Insert BST / Insert BST 数据结构数据结构30306060404070703030505036368080454575752020删除叶子结点删除叶子结点2020和和7575606
10、04040707030305050363680804545数据结构数据结构31316060404070703030505036368080454575752020删除只有左子树删除只有左子树的单孩子结点的单孩子结点5050606040407070303045453636808075752020数据结构数据结构3232606040407070303050503636808045457575202060603636707030305050808045457575202060604545707030305050363680807575202060607070303050503636808045457
11、5752020数据结构数据结构3333数据结构数据结构3434数据结构数据结构3535平衡二叉树平衡二叉树 数据结构数据结构3636数据结构数据结构3737数据结构数据结构3838数据结构数据结构3939A A2 2B B1 1B BL LB Br rA Ar rh hh hh hLLLL型型A A0 0B B0 0B BL LB Br rA Ar rh hh hh h数据结构数据结构4040A A-2-2B B-1-1B Br rB BL LA AL Lh hh hh hRRRR型型A A0 0B B0 0B Br rA AL LB BL Lh hh hh h数据结构数据结构4141A A2
12、 2B B-1-1A Ar rh hB BL Lh hLRLR型型C CC CL Lh-1h-1C Cr rh-1h-11 1A A-1-1B B0 0A Ar rh hB BL Lh hC CL Lh-1h-1C Cr rh-1h-1C C0 0数据结构数据结构4242B B-1-1A A0 0B Br rh hA AL Lh hC CL Lh-1h-1C Cr rh-1h-1C C0 0A A-2-2B B1 1B Br rh hA AL Lh hRLRL型型C CL Lh-1h-1C Cr rh-1h-1C C1 1数据结构数据结构4343数据结构数据结构4444数据结构数据结构4545
展开阅读全文