中序第三个是几

还是那棵树(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】。

开始练习 →

删一个只有一个孩子的(C++)

要删的节点只有一个子节点,做法是【0】。

开始练习 →

删一个有两个孩子的

第 1 步:要删 50:左右都有孩子 第 2 步:去右子树里找最小的 第 3 步:一路往左:最小的是 60 第 4 步:把 60 抄到根上 第 5 步:再删掉右边原来那个 60 50 30 70 20 60 60 要删的节点左右都有孩子,标

开始练习 →

删掉 15 后 13 挂在谁下面

15 只有一个孩子(13)。运行下面这段程序: (这一节只管把节点从树上摘掉,摘下来的内存先不管,下一节讲怎么 delete。) #include <iostream> #include <string> #incl

开始练习 →

自己写把叶子摘掉

补全 bst_remove:用递归删掉 val,返回新的根。这次删的是叶子 13。删完之后输出中序的第一个。 (这一节只管把节点从树上摘掉,摘下来的内存先不管,下一节讲怎么 delete。) (本题用 g++ -std=c++17 -O0

开始练习 →