二叉树怎么转化为红黑树,红黑树和平衡二叉树区别

首页 > 经验 > 作者:YD1662022-11-14 14:25:16

二叉树怎么转化为红黑树,红黑树和平衡二叉树区别(17)

6) 删除

执行删除之前需要对删除 key 进行查找,若查找失败则无法删除。查找成功,才可删除 key 。删除节点情况有以下几种:

6.1 删除的节点不为 2- 节点

删除的节点不为 2- 节点,则将要删除的目标 key 直接删除即可。

图解:

二叉树怎么转化为红黑树,红黑树和平衡二叉树区别(18)

二叉树怎么转化为红黑树,红黑树和平衡二叉树区别(19)

6.2 删除非叶子节点

当删除的节点是非叶子节点,无论待删除节点的 key 是多少个,先使用中序遍历找到待删除节点的后继节点,然后将后继节点与待删除节点位置互换,此时就将问题转化为删除节点为叶子节点(平衡树的非叶子节点中序遍历后继节点肯定叶子节点),如果该叶子是非 2- 节点,则与 2.4.1 一样,如果该节点是 2- 节点,则跟后面的 2.4.3 情形一样。

图解:

二叉树怎么转化为红黑树,红黑树和平衡二叉树区别(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.