新节点总长在哪个位置
按标准做法插进去的新节点,总是成为一个【0】。
同样几个数插入顺序不同
同样一批数,按不同的顺序插进 BST,结果是【0】。
插一个已经有的值(C++)
往 BST 里插一个已经存在的值,标准做法是【0】。
插入 20 后它挂在谁下面
还是那棵树,再插一个 20。运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std;
自己写插入
补全 insert:用递归把 val 插进去,返回这棵子树新的根。把 17、24、15 依次插进空树,输出根的右边是几。 (本题用 g++ -std=c++17 -O0 编译。)
插完之后中序还得是升序
同一个 insert。插完五个数之后再插一个 20,然后中序走一遍,输出第 4 个数。插对了的话中序仍然是升序的。 (本题用 g++ -std=c++17 -O0 编译。)
插重复的值树不能变
同一个 insert:碰到已经存在的值,要原样返回、什么都不加。五个数插完之后再插一次 17,输出树里一共有几个节点。 (本题用 g++ -std=c++17 -O0 编译。)
为什么中序正好是升序
第 1 步:中序:左、根、右 第 2 步:访问 20,收进来 第 3 步:访问 30,收进来 第 4 步:访问 50,收进来 第 5 步:访问 60,收进来 第 6 步:访问 70,收进来 第 7 步:收出来的正好是升序 50 30 70
想从大到小输出怎么办(C++)
要让 BST 从大到小输出,做法是【0】。
中序结果和树的形状
同一批数插成形状不同的两棵 BST,它们的中序结果【0】。