gpt4 book ai didi

c - 使用双指针而不是单指针

转载 作者:太空狗 更新时间:2023-10-29 14:54:18 26 4
gpt4 key购买 nike

我正在研究二叉搜索树。

因此,这是用于表示节点的结构:

typedef struct TreeNode
{
int num;
struct TreeNode *left,*right;
}TREENODE;

要在树中插入一个节点,我有以下签名方法

void InsertNode(TREENODE **root,int data);

上面的方法为什么要双指针,我们可以用单指针!

我们是否使用双指针来避免重复?

最佳答案

不,这是在重新平衡的情况下需要的。重新平衡后根可以改变。

好的,我会扩展。双指针允许您修改指针。那么你的情况下树根是什么?指向 TREENODE 的指针。一些像搜索这样的操作永远不会修改它。但是某些操作可能需要更改它,以便另一个节点成为新的根。因此,他们必须有权访问您以 root 身份使用的那个变量。他们可能需要它的一个例子是重新平衡,参见 AVL trees .

关于c - 使用双指针而不是单指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9381220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com