gpt4 book ai didi

c++ - 如何从层序遍历构造完整树

转载 作者:行者123 更新时间:2023-11-30 19:51:39 25 4
gpt4 key购买 nike

<小时/>

如何通过层序遍历构造完整树?

总共 =7 个节点

20,8,22,4,12,-1,-1 至

    20
/ \
8 22
/ \ / \
4 12 -1 -1

二叉树中也可能有 -1 的虚拟节点

根据该级别顺序构造树这不可能吗?

最佳答案

对我来说看起来像是一个简单的插入。如果您的节点值按照您指定的顺序排列,则只需运行递归插入即可。

void insert(node_t **root, int val)
{
if (*root == NULL) {
*root = malloc(sizeof(node_t));
*root->val = val;
*root->left = NULL;
*root->right = NULL;
} else if ((*root)->val >= val) {
insert(&(*root)->left, val);
} else {
insert(&(*root)->right, val);
}
}

在主函数中,您可以按如下方式调用它:

int main (void)
{
node_t *root = NULL;
// call this with each value in
insert(&root, <your value>);
}
  • 您当然需要定义一个node_t结构,但您已经明白要点了
  • 此代码可能会也可能不会编译,我是在手机上输入的

关于c++ - 如何从层序遍历构造完整树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39144932/

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