插一个重复的值,树不能变
同一个 insert:碰到已经存在的值,要原样返回、什么都不加。 五个数插完之后再插一次 17,输出树里一共有几个节点。
阅读更多 →
插完之后中序还得是升序
同一个 insert。插完五个数之后再插一个 20,然后中序走一遍,输出第 4 个数。 插对了的话中序仍然是升序的。
阅读更多 →
自己写插入
补全 insert:用递归把 val 插进去,返回这棵子树新的根。 把 17、24、15 依次插进空树,输出根的右边是几。
阅读更多 →
插入 20 之后它挂在谁下面
还是那棵树,再插一个 20。运行下面这段程序: class BNode: def __init__(self, val): self.val = val sel
阅读更多 →
插一个已经有的值
往 BST 里插一个已经存在的值,标准做法是【0】。
阅读更多 →
同样几个数、插入顺序不同
同样一批数,按不同的顺序插进 BST,结果是【0】。
阅读更多 →
新节点总是长在哪个位置
按标准做法插进去的新节点,总是成为一个【0】。
阅读更多 →
新值该插到哪儿
往 BST 里插一个新值,位置的定法是【0】。
阅读更多 →
顺便数出比了几次
补全 steps:返回查找 val 时一共比较了几次(比到就停)。 这次查 13。
阅读更多 →
查一个根本不在的值
同一个 find,这次查 20——它不在树里。 ⚠️ 走到空位就要停下来返回 False,不能报错。
阅读更多 →