判断一棵树平不平衡

补全 balanced:每个节点的左右子树高度差都不超过 1 才算平衡。这次判的是按升序插入的那棵。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

BST 比哈希表强在哪

第 1 步:数 30 到 60 之间有几个 第 2 步:20 不在范围里 第 3 步:30 在范围里:数上 第 4 步:50 在范围里:数上 第 5 步:60 在范围里:数上 第 6 步:70 不在范围里 50 30 70 20 60 同样

开始练习 →

找第 k 小靠的是什么(C++)

在 BST 里找第 k 小的值,最自然的办法是【0】。

开始练习 →

第二小的是几

还是那棵树(17、24、15、13、23 依次插入)。运行下面这段程序: #include <iostream> #include <string> #include <vector> using nam

开始练习 →

15 到 23 之间有几个

还是那棵树(17、24、15、13、23 依次插入)。运行下面这段程序: #include <iostream> #include <string> #include <vector> using nam

开始练习 →

找出最小的那个

补全 min_val:找出 BST 里最小的值。不用遍历整棵树——最小的那个有个很好找的位置。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

找出第 k 小的那个

补全 kth:返回第 k 小的值(k 从 1 开始数)。这次找的是第 4 小。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

某个区间里有几个

补全 count_range:返回落在 [lo, hi] 区间内(含两端)的节点个数。这次数的是 15 到 23。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

某个值排第几

补全 rank_of:返回 val 在这棵树里从小到大排第几(最小的算第 1),不在返回 0。这次问的是 17 排第几。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

std::set 内部通常是什么

C++ 标准库的 std::set,内部通常是【0】。

开始练习 →