gpt4 book ai didi

c - 不正确的二叉树

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

while(count != 25) {
tail = head;
new_node = (binary_node*)malloc(sizeof(binary_node));
while(tail->next != NULL)
tail = tail->next;
tail->next = new_node;
new_node->element.frequency = (p->element.frequency + q->element.frequency);
new_node->LSON = p;
new_node->LSON->RTAG = 0;
new_node->RSON = q;
new_node->RSON->RTAG = 1;
head = new_node;
n = n - 1;
head = q->next;
sort(n, head);


p = head;
q = p->next;
count++;
}

上面的代码应该生成一棵哈夫曼树。然而,形成的二叉树是不正确的。所有包含字母的节点都应该是叶子或没有儿子的节点,但某些字母节点仍然有儿子。代码有什么问题?

最佳答案

malloc 返回一个充满垃圾的内存区域。

由于您从未将 new_node 设置为它不是字母节点,有时您会发现那里有垃圾说它实际上是字母节点。

验证结果:你应该找到更多原来拥有的字母节点。

关于c - 不正确的二叉树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6973544/

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