插重复的值树不能变
同一个 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】。
中序第三个是几
还是那棵树(17、24、15、13、23 依次插入)。运行下面这段程序: #include <iostream> #include <string> #include <vector> using nam
中序最后一个是几
还是那棵树(17、24、15、13、23 依次插入)。运行下面这段程序: #include <iostream> #include <string> #include <vector> using nam
自己写中序
补全 mid:按左、根、右的顺序把值收进 out。补全后输出中序的第一个。 (本题用 g++ -std=c++17 -O0 编译。)
用中序判断是不是 BST
补全 is_bst:中序走一遍,看结果是不是严格升序。这次判的就是那棵正常建出来的树。 (本题用 g++ -std=c++17 -O0 编译。)
从大到小走一遍
补全 rev:按右、根、左的顺序走,出来就是降序。补全后输出降序的第一个。 (本题用 g++ -std=c++17 -O0 编译。)
删一个叶子(C++)
要删的节点是叶子(左右都空),做法是【0】。