This commit is contained in:
krahets
2023-07-01 22:39:20 +08:00
parent 32b8b44724
commit 6e1133cbc2
8 changed files with 680 additions and 437 deletions

View File

@@ -37,3 +37,7 @@ comments: true
!!! question "在 C++ 中,函数被划分到 `private``public` 中,这方面有什么考量吗?为什么要将 `height()` 函数和 `updateHeight()` 函数分别放在 `public``private` 中呢?"
主要看方法的使用范围,如果方法只在类内部使用,那么就设计为 `private` 。例如,用户单独调用 `updateHeight()` 是没有意义的,它只是插入、删除操作中的一步。而 `height()` 是访问结点高度,类似于 `vector.size()` ,因此设置成 `public` 以便使用。
!!! question "请问如何从一组输入数据构建一个二叉搜索树?根节点的选择是不是很重要?"
是的,构建树的方法是 `build_tree()` ,已在源代码中给出。至于根节点的选择,我们通常会将输入数据排序,然后用中点元素作为根节点,再递归地构建左右子树。这样做可以最大程度保证树的平衡性。