- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[2018年最新整理]二叉树查找遍历
第7章 查找 第7章 查找 第7章 查找(Search) Introduction 查找是非数值处理中一种最基本、最重要的操作。 查找,也称检索,是一种运算,是软件设计中经常遇到的一种运算。数据结构不同,查找方法也会不同。查找方法的好坏直接影响着计算机的使用效率。 7.1、查找基本概念 1)查找 Search:又称检索,是指在大量的数据中寻找关键字等于给定值的记录。若存在这样一个记录,则称查找成功,否则称查找不成功。 分为:静态查找;动态查找; 2)关键字 (Keyword):就是数据元素中可以唯一标识一个数据元素的数据项。 例如:学生管理登记卡中的学号。 3)平均查找长度 (Average Search Length) (ASL) 算法评价 :评价时考虑:(1) 速度; (2) 占用存储空间; (3) 复杂程度。 结构体数组 typedef struct {char name[10]; KeyType key; }DataType; DataType r[Maxnum]; 算法分析: int seqsearch(DataType r[], int key, int n) {int i; r[0].key=key; i=n; while(r[i].key!=key) i--; return i; } 算法分析 算法简单,效率较低 Search int binsearch(DataType r[],int n,int key) {int low,high,mid; low=0; high=n-1; while(low=high) {mid=(low+high)/2; if(key==r[mid].key)return mid; else if(key r[mid].key) low=mid+1; else high=mid-1; } returu –1; } 折半法算法分析 假设:查找关键字为0-6的数据 比顺序查找效率高 只适用于有序的顺序存储的表, 3. 分块查找(索引顺序表查找) 将顺序查找法与折半查找法结合 索引表类型: 算法分析 7.3. 基于树的查找 用树结构存储记录既可查找又可插入和删除 1.树表查找方法: 二叉排序树查找 平衡二叉排序树查找 B-树查找 (1) 二叉排序树的定义: 或是空树,或具有以下性质的二叉树: ①其左子树上所有结点的数据均小于根结点的数据值. ②其右子树上所有结点的数据均大于或等于根结点的数据值. ③左、右子树又各是一棵二叉排序树。 (2)二叉排序树的生成 生成一棵二叉排序树,过程如下: ①若二叉排序树为空,则令待插结点为根结点, ②若二叉排序树非空,则比较待插结点(k1)和根结点(k2)的数据值。若k1k2,则将其插入到左子树中;否则,将其插入到右子树中. ③结点插入二叉排序树的左、右子树过程同上. 课堂练习: 用以下序列组成一棵二叉排序树. {23,4,12,89,9,43,4,56,23} ①插入的新结点都是二叉排序树的叶子结 点.不必移动其它结点.常用于有序二叉树 的插入,删除. ②对二叉排序树采用中序遍历,其结果为一有序序列. ③根结点的选择,决定二叉树的形状,其形状决定检索的效率.根结点数据值最好选择元素序列的中间值. BiTree *btsearch(BiTree *p, int key) //p指向二叉排序树的根结点 {while(p!=NULL) {if(key==p-key) return p; else if(keyp-key) p=p-L; else p=p-R; } return NULL; } 4. 算法分析 7.4 哈希查找(散列查找) 前述的查找方法建立在“比较”的基础上,查找的次数依赖于查找过程中进行比较的次数。 问题:能否不用比较就能直接计算出记录的存储地址,从而找到所要的结点? ----采用散列(hash)方法。 1.哈希(散列)表的基本概念 哈希(又称杂凑、散列)的基本思想: 以记录的关键字值k为自变量,通过一定的函数关系h计算出对应的函数值h(k),把这个值解释为记录的存储地址(哈希地址),将记录存入该地址中
您可能关注的文档
- [2018年最新整理]乘法的变化规律.doc
- [2018年最新整理]乘除法各部分之间的关系.doc
- [2018年最新整理]乘风破浪顺势而行.doc
- [2018年最新整理]九下语文试卷.doc
- [2018年最新整理]九年级U10知识点.ppt
- [2018年最新整理]乘除运算中的误差分析.doc
- [2018年最新整理]九年级3-8知识点.ppt
- [2018年最新整理]九年级上册单项选择综合练习答案(Unit1).ppt
- [2018年最新整理]九年级上册复习提纲.doc
- [2018年最新整理]九年级上册数学北京课改版备课精品课件:《比例线段》.ppt
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
最近下载
- 制造企业数字化中台技术中台数据中台业务中台建设方案(20页PPT).pptx VIP
- 防跑道侵入考试卷附答案.doc
- 3-1牛顿第一定律(解析版)—2024高考物理一轮复习100考点100讲.docx VIP
- 社会治安管理处罚法全文.docx VIP
- SL252-2017 水利水电工程等级划分及洪水标准.pdf VIP
- 监理例会会议纪要范文.docx VIP
- 新时代下黄河文化融入高校校园文化建设的路径探索.docx VIP
- SL260-2014 堤防工程施工规范.docx VIP
- 公司治理与股权激励董.pptx VIP
- 新解读《GB_T 12604.3-2013无损检测 术语 渗透检测》最新解读.docx VIP
文档评论(0)