请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于根节点这里的root为什么不能 root = new Node(null);

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2019-10-16 14:49:23

在我们的 BST 中, root 为空代表没有元素,这就像在我们之前讲的第一版链表中,头节点为空,代表链表中不存元素。


当然,在我们的链表中,后续引入了虚拟头结点,是为了统一添加删除的逻辑。但是,在树结构中并不需要,当然了,如果你觉得树有一个虚拟头结点更舒服,可以这么做,但其实没有必要。


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 野源新之助 #1
    老师那就是说只有在需要虚拟头结点时候才能new Node()一个节点?
    回复 有任何疑惑可以回复我~ 2019-10-16 14:50:57
  • liuyubobobo 回复 提问者 野源新之助 #2
    不。是我理解你想这么做是想要一个虚拟头结点。如果我理解的有误,你为什么想这么做呢?你想 new 一个节点,应该是有目的的?
    回复 有任何疑惑可以回复我~ 2019-10-16 14:54:55
  • 提问者 野源新之助 回复 liuyubobobo #3
    老师是我理解错概念了,我以为在初始化一个BST时候就需要有一个节点。原来可以树里没有任何元素。 谢谢老师
    回复 有任何疑惑可以回复我~ 2019-10-16 14:58:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信