版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构讲义(第四讲内容:查值K找失败,返回特定的值,该值表示查找失败0缺点:平均查找长度较大,特别是当顺序表的长度很大时,查找效率较低时间复杂度为2、二分查找(又称折半查找算法的基本思想(key1/2keyintBiSearch(DataTypea[],intn,KeyTypea[0]--a[n-1]key//查找成功时返回该元素的下标序号;失败时返回-{intlow=0,high=n- intwhile(low<={mid=(low+high)/2; if(a[mid].key==key)returnmid; elseif(a[mid].key<key)low=mid+1;elsehigh=mid-}return- }时间复杂度为折半查找要求表是顺序的,为保持表的有序性,在进行插入和删除操作时,索引表中的数据元素由两个域key域的最大值link域第一个数据元素的位置编号。分块查找过程分两步进行:首先查找索引表,确定待查记录所在块(子表(可用折半查找法或顺序查找法在相应块(子表)录。分块查找的主要代价是:需要增加一个辅助数组的空间和将初始表分衡二叉树等。树结构有B-树、B+树等。左的所有结点均小于根的值右的所有结点均大于根的值它的左右也分别为二叉排序树intSearch(BiTreeNode*root,DataType{BiTreeNode*p;if(root!={p=root;while(p!=NULL){if(p->data.keyitem.key)return1;//查找成功if(item.key>p->data.key)p=p-> //在右继p=p-> //在左继}}return }插入算法设计如intInsert(BiTreeNode**root,DataTyperootitemitem{BiTreeNode*current,*parent=NULL,*p;current=*root;while(current!={if(current->data.key==item.key)return0;parent=current;if(current->data.key<item.key)current=current->elsecurrent=current-}P=(BiTreeNode*)malloc(sizeof(BiTreeNode));if(p==NULL){}P->data=P->leftChild=P->rightChild=if(parent==NULL)*root=p; elseif(item.key<parent->data.key)parent->leftChild=p; parent->rightChild= return}值大于要删除结点数据元素关键字的最小值即寻找要删除结点右的最左结在情况下,二叉排序树的平均查找长度为O(n)。在一般情况下,二叉排序树的平均查找长度为O(log2n)。2(AVL树高度相差不到1。所以此树总是平衡的。平衡二叉树(BalancedbinarytreeAVL左右深度之差的绝对值不超过左右仍然为平衡二叉树平衡因子BF=左深度-右深度平衡二叉树每个结点的平衡因子只能是1,0,-1。若其绝对值超过1,则找出插入新结点后失去平衡的最小根结点的指针。然后再调整这个中有关结点之间的关系,使之成为新的平衡。当失去平衡的最小被调整为平衡后,原有其他所有不平衡无需调整,整个二叉排序树就又失去平衡的最小是指以离插入结点最近,且平衡因子绝对值大于1的结点作为根的。假设用A表示失去平衡的最小的根结点,则调整该子1)LL由于在A的左孩子B的左上插入结点F,使A的平衡因子由1增至2 即将A的左孩子B向右上旋转代替A作为根结点,A向右下旋转成为B的右的根结点。而原来B的右子树则变成A的左。RR由于在A的右孩子C的右上插入结点F,使A的平衡因子由-1减至-2AC代替A作为根结点,A向左下旋转成为C的左的根结点。而原来C的左子树则变成A的右。LR由于在ABF,使A12而失去平衡。故需进行两次旋转操作(先逆时针,后顺时针)。即先将A的左孩子B的右的根结点D向左上旋转提升到B结点的位置,然后再把该DALL型,再按LL的左上,此时成为LL型,再按LL型处理成平衡型RL由于在A的右孩子C的左上插入结点F,使A的平衡因子由-1减至-2而失去平衡。故需进行两次旋转操作(先顺时针,后逆时针),即先将A的右孩子C的左的根结点D向右上旋转提升到C结点的位置,然后再把该DARR型,再按RRA的左上,此时成为RR型,再按RR型处理成平衡型B_二叉排序树那样的分支现象。因此B_树的动态查找效率更高。B_B_mB_树或者是一棵空树,或者是满足下列要求的m树:树中每个结点至多有m个孩子结点(至多含有m-1个关键字除根结点外,其他结点至少有m/2个孩子结点(符号“”表示上取整若根结点不是叶结点,则根结点至少有结点查找算B_xx.keyKi若x.key=Ki则查找成功若key<K1则沿着指针P0所指的继续查找若Ki<key<Ki+1则沿着指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年黑龙江旅游职业技术学院单招综合素质考试模拟试题带答案解析
- 2026年贵州装备制造职业学院高职单招职业适应性测试备考试题有答案解析
- 2026年河南工业和信息化职业学院单招综合素质考试模拟试题带答案解析
- 2026年长沙南方职业学院单招综合素质笔试备考题库附答案详解
- 2026年安徽国际商务职业学院高职单招职业适应性考试模拟试题带答案解析
- 2026年福州科技职业技术学院单招职业技能考试参考题库带答案解析
- 投资合作协议合同协议(2025年)
- 2026年鹤壁职业技术学院单招综合素质笔试模拟试题带答案解析
- 2026年河南工业和信息化职业学院单招综合素质笔试模拟试题带答案解析
- 2026年河南经贸职业学院高职单招职业适应性测试备考试题有答案解析
- 2025年学校食堂从业人员食品安全知识培训考试试题(附答案)
- 2025年建筑信息化行业分析报告及未来五至十年行业发展报告
- 建筑防欠薪管理制度
- 中国共产主义青年团纪律处分条例试行解读学习
- 2025年广东省深圳市中考英语复习听说题型课件信息复述提问
- 咖啡消费人群的细分与定位-全面剖析
- 09.品质月报统计表模板
- 2024-2025学年北京朝阳区九年级初三(上)期末历史试卷(含答案)
- DB11T 354-2023 生活垃圾收集运输管理规范
- 赤石特大桥施工安全风险评估报告
- QBT 2770-2006 羽毛球拍行业标准
评论
0/150
提交评论