关于 node.left = add(node.left,e) 这一步

来源:6-4 改进添加操作:深入理解递归终止条件

慕的地1025731

2019-01-09

老师你说的用 node.left 来接住 add(node.left,e) 的意思是不是用 node.left 来表示变化后的左子树?

写回答

1回答

liuyubobobo

2019-01-10

是。这里的关键是:add函数是有返回值的。


private Node add(Node node, E e) 这个函数是:

在以node为根节点的二分搜索树中添加元素e,返回添加后的二分搜索树的根节点。


所以,add(node.left,e)就是在以node.left为根节点的二分搜索树中添加元素e,返回添加后的二分搜索树的根节点。这个添加了新的元素e的二分搜索树,是node的新的左子树:)

2
1
慕的地1025731
非常感谢!
2019-02-03
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程