新值该插到哪儿
往 BST 里插一个新值,位置的定法是【0】。
开始练习 →
新节点总是长在哪个位置
按标准做法插进去的新节点,总是成为一个【0】。
开始练习 →
同样几个数、插入顺序不同
同样一批数,按不同的顺序插进 BST,结果是【0】。
开始练习 →
插一个已经有的值
往 BST 里插一个已经存在的值,标准做法是【0】。
开始练习 →
插入 20 之后它挂在谁下面
还是那棵树,再插一个 20。运行下面这段程序: class BNode: def __init__(self, val): self.val = val self.left = None
开始练习 →
自己写插入
补全 insert:用递归把 val 插进去,返回这棵子树新的根。 把 17、24、15 依次插进空树,输出根的右边是几。
开始练习 →
插完之后中序还得是升序
同一个 insert。插完五个数之后再插一个 20,然后中序走一遍,输出第 4 个数。 插对了的话中序仍然是升序的。
开始练习 →
插一个重复的值,树不能变
同一个 insert:碰到已经存在的值,要原样返回、什么都不加。 五个数插完之后再插一次 17,输出树里一共有几个节点。
开始练习 →
为什么中序出来正好是升序
BST 中序遍历出来一定是升序的,因为【0】。
开始练习 →
想从大到小输出怎么办
要让 BST 从大到小输出,做法是【0】。
开始练习 →