中序走出来第一个是几

把 17、24、15、13、23 依次插进一棵空的 BST。运行下面这段程序: #include <iostream> #include <string> #include <vector> using

开始练习 →

查一个值第一步和谁比

在 BST 里查一个值,第一次比较的对象是【0】。

开始练习 →

比根小意味着什么

第 1 步:查 60:先和根 50 比 第 2 步:60 比 50 大:往右走 第 3 步:60 比 70 小:往左,找到了 第 4 步:左边整棵根本没看 50 30 70 20 60 要找的值比根小,接下来【0】。

开始练习 →

每比一次大约排除多少(C++)

在一棵长得比较均匀的 BST 里,每比较一次大约排除掉【0】。

开始练习 →

查找最多要比几次(C++)

在 BST 里查一个值,最多比较的次数大约等于【0】。

开始练习 →

查 23 比了几次

还是那棵树。运行下面这段程序,它数的是「比了几次」: #include <iostream> #include <string> #include <vector> using namespace std

开始练习 →

写一个查找

补全 bst_find:在 BST 里查 val,在就返回 true,不在返回 false。这次查的是 23。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

查一个根本不在的值

同一个 bst_find,这次查 20——它不在树里。走到空位就要停下来返回 false,不能读空指针。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

顺便数出比了几次

补全 steps:返回查找 val 时一共比较了几次(比到就停)。这次查 13。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

新值该插到哪儿

第 1 步:插 65:从根往下走 第 2 步:比 50 大:往右 第 3 步:比 70 小:往左 第 4 步:比 60 大,右边是空位:挂上 50 30 70 20 60 65 往 BST 里插一个新值,位置的定法是【0】。

开始练习 →