- 1、本文档共94页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构与算法》第九章查找要点
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 注意:找不到时返回什么? * * B_树通常存储在磁盘上 * 深度为叶子结点的层数 * * * * * * * * * * * * * * * * 折半查找+顺序查找 * * * * * * * * * * * * * * 用此方法 * * * * * * 1个关键字 2个关键字 3个关键字 4个关键字 5个关键字 6个关键字 7个关键字 (二) B-树的插入和删除 1.插入 先找到插入的位置(p,i)--总在最高层的非终端结点 30 37 插入30 45 24 3 12 37 50 100 61 70 53 90 插入26 45 24 30 37 3 12 50 100 61 70 53 90 26 30 37 45 3 12 50 100 61 70 53 90 24 30 26 37 插入85 61 70 85 45 70 61 70 85 53 70 90 53 70 90 45 3 12 50 100 61 70 24 30 26 37 53 90 插入7 3 7 12 7 24 30 7 24 30 3 7 12 3 12 24 30 26 37 100 50 85 45 70 53 90 61 24 45 70 3 7 12 70 24 30 45 26 37 100 50 85 53 90 61 若p中关键字个数小于m-1,插入相应位置 若p中关键字个数等于m-1,插入后分裂结点 而关键字k[m/2]和指针p’一起插入到p的双亲中去 并且双亲也可能分裂,分裂可能一直进行到根结点, 使树的深度增加 分裂成: Status InsertBTree(BTree T, KeyType K, BTree q, int i) { //在m阶B树T上结点*q的key[i]和key[i+1]之间插入关键字K //若引起结点过大,则沿双亲链进行必要的结点分裂调整使T仍是m阶B树 x=K;ap=NULL; finish=FALSE; //ap为K所指向叶子的指针 while(q !finish) {Insert(q,i,x,ap); //将x和ap分别插入到q-key[i+1]和q-recptr[i+1] //后面的关键字和指针后移,q-keynum++ if(q-keynumm) finish=TRUE; //插入后未溢出插入完成 if(!(q-keynumm)) //分裂结点*q {s=[m/2]; x=q-key[s]; split(q,ap); //将q分裂成q和ap, 将q-key[s+1..m],q-ptr[s..m] //和q-recptr[s+1..m]移入新结点*ap q=q-parent; if(q) i=Search(q,x); //在双亲结点*q中查找x的插入位置 }//else }//while if(!finish) //T是空树(参数q初值为NULL)或者根结点已分裂为结点*q和*ap NewRoot(T,x,ap); //生成含信息(T,x,ap)的新根结点*T,原T和ap为子树指针 }//InsertBTree 2.删除 先找到关键字所在的结点(p,i) (1)p为最下层的非终端结点 若p中关键字数目不小于[m/2],则从p中删去Ki,Ai 若p中关键字数目等于[m/2]-1, 且与p相邻的右(左)兄弟结点中关键字个数大于[m/2]-1 则将右(左)兄弟中最小(大)的关键字移到双亲结点中, 且将双亲结点中小(大)于又最接近上移关键字的 关键字下移到p中 若和p相邻的兄弟中关键字数目都等于[m/2]-1, 且结点p有 右兄弟,右兄弟由双亲结点的Ai指向 则删去关键字后,p中剩余关键字和指针与Ki一起合并到 Ai所指的右兄弟结点中,并从双亲结点中删去(Ai,Ki) 若该结点没有右兄弟则合并到左兄弟 合并可能一直进行到根 先找到关键字所在的结点(p,i) (2)p不是最下层的
您可能关注的文档
- 《室内环境设计》课程教学大纲.doc
- 染料与颜料.ppt
- 《安规(配电部分)》题库精编.doc
- 《山东师范大学成人高等教育远程网络学习学生手册》.doc
- 染色体是遗传信息的载体.ppt
- 《工业通信与网络技术》第1章.pptx
- 《安徽电视台主持人大赛》行业协办方案.ppt
- 《建筑工程计量与计价》课题2 教学内容2电子教案.ppt
- 《建筑环境学》考试试卷2007.doc
- 《带电粒子在匀强磁场中的运动》同步练习3套(新人教版选修3-1) 2.doc
- Unit 3 Online tours Reading 说课稿2024-2025学年牛津译林版八年级英语下册.docx
- 必威体育精装版供应链风险防范及对策.docx
- 《2.2 有趣的纸艺》(说课稿)-2023-2024学年三年级上册综合实践活动安徽大学版.docx
- 必威体育精装版供应链的概观.docx
- 必威体育精装版会计学毕业论文选题(精编版).docx
- 必威体育精装版企业文化与企业绩效_图文.docx
- 必威体育精装版企业内部控制基本规范及配套指引word版.docx
- 必威体育精装版企业内部控制基本规范及配套指引word版.docx
- 必威体育精装版人力资源管理本科毕业论文题目汇总.docx
- 必威体育精装版会计专业论文题目.docx
文档评论(0)