问题描述
这是类二叉搜索树
为什么我们在节点结构中创建节点左右指针,这将再次具有 3 个属性?为什么不直接使用 int
?
class bst
{
struct node
{
int key;
node *left;
node *right;
};
node *root;
};
解决方法
根据您的评论,我相信我理解您的困惑。
node
结构包含指向其他 node
结构而不是 int
的指针的原因是为了允许树具有多个级别。
每个节点都有一个值,可以有一个或两个子节点,但每个节点都可以有自己的子节点。
BST - 二叉搜索树,可以增长到您的计算机内存允许的大小,具体取决于您想在其中存储多少数据。
看看这张图片(取自维基百科):
如果使用指向 int
的指针,则只能存储 8、3 和 10,但无法存储 1、6、14 和其余值。
但是每个节点都包含一个值和指向其他节点的指针,您可以根据需要链接任意数量的节点。