关于红黑树的实现应不应该记录父节点

本人java小白,最近在学习红黑树的时候,按照网上的教程学习了一下,看到大多数的教程中红黑树的实现树结构都是用left,right记录左右子节点,parent记录父节点的。

在我根据教程自己敲了测试的时候发现在运行插入的时候就报内存溢出错误了。

原因是插入的时候 x.parent = y , y.left = x. 然后加载y的时候会把x加载出来 然后x在加载y在加载x一直循环就内存溢出了。

想请教一下大佬们,这个是我写错了吗还是说实现红黑树的时候不记录父节点的。

这是内部的树:

https://img3.mukewang.com/5c7e0e100001d7c906180399.jpg

下面是插入代码

https://img4.mukewang.com/5c7e0dbb0001bc3a06810694.jpg

错误:

https://img3.mukewang.com/5c7e0e6b000171c708040250.jpg


慕粉3285360
浏览 1579回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP