《算法导论》第三版中B树的删除问题

从来不作 2015-07-19 05:38:19

从第一幅图中删除结点D,为什么不是直接删除呢?我怎么看也看不懂,求指导
...全文
307 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
西瓜shine 2019-03-08
  • 打赏
  • 举报
回复
主要是,它为了避免回溯,要保证每个节点的关键字>=t。 还有每次操作都是从上往下。根据查找顺序,每路过一个节点就要检查该节点是否>=t。 当它,查找D路过节点CL的时候,发现不满足>=t(t=3)。所以在第二层,就开始做了合并操作。 删除这一章节,确实有点乱。有个问题,看到现在没找到,就是叶子节点不满足>=t-1怎么办?
从来不作 2015-07-21
  • 打赏
  • 举报
回复
引用 3 楼 yshuise 的回复:
b+树没有研究过,不过红黑树是需要调整,删除、添加一般需要旋转,你再看看书。
是我看书不仔细,其实是有两种删除模式。
赵4老师 2015-07-20
  • 打赏
  • 举报
回复
在百度搜“B+树”
yshuise 2015-07-19
  • 打赏
  • 举报
回复
b+树没有研究过,不过红黑树是需要调整,删除、添加一般需要旋转,你再看看书。
从来不作 2015-07-19
  • 打赏
  • 举报
回复
引用 1 楼 yshuise 的回复:
直接删除掉以后,树不再平衡,因此要旋转、调整直达平衡。
直接删除,是平衡的啊
yshuise 2015-07-19
  • 打赏
  • 举报
回复
直接删除掉以后,树不再平衡,因此要旋转、调整直达平衡。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧