网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月17日漏签0天
数据结构吧 关注:104,521贴子:883,654
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 6回复贴,共1页
<<返回数据结构吧
>0< 加载中...

想和大家讨论一下黑皮书中红黑树的插入操作

  • 只看楼主
  • 收藏

  • 回复
  • 你的谎言不伤人
  • 散列表
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
实现代码如图


  • 你的谎言不伤人
  • 散列表
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我发现它与王道书中实现的方式不同,它没有使用parent指针指向父结点。在这一特点的基础上,它在插入时需要定义4个静态的指针x,p,gp,ggp


2025-08-17 15:38:32
广告
不感兴趣
开通SVIP免广告
  • 你的谎言不伤人
  • 散列表
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
但是我发现如果发生旋转,那么p gp ggp之间的父子关系会发生紊乱,在下一次的ggp=gp gp=p p=x的操作中,我感觉不能正确更新父子关系


  • 你的谎言不伤人
  • 散列表
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还有一个问题是我在总结流程时发现,他自上而下寻找插入位置时一直进行双红修复,即对父亲和叔叔是红结点时的染色+旋转操作,我不理解为什么需要在查找路径中一直花开销来进行双红修复,仅保留插入位置处的双红修复不就可以吗?(以下附上我的流程图)


  • 你的谎言不伤人
  • 散列表
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
希望大佬能来解答我这个菜鸟的疑问


  • 丛中之歌
  • 自成一派
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
也想和你讨论,但是这个红黑树一直没有研究太深。也看过很多个版本的,其实实现思路差别还是有很大的。有的限制路径红黑,有的限制节点红黑。而且各种机制还不一样。我建议你可以把代码抄一遍实现一遍,然后测试下效率。像C++还有等等的都有红黑树实现的库,效率对比还是容易的。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 6回复贴,共1页
<<返回数据结构吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示