数据结构:二叉树高度(顺序存储)

给定顺序存储的二叉树,求二叉树的高度。

二叉树的顺序存储是指用一组地址连续的存储单元依次自上而下、自左向右存储完全二叉树上的结点元素(一般二叉树则将其每个结点与完全二叉树上的结点对照)。

部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

int main()
{
    int tree[512], n = 0;
    int data;
    while(scanf("%d", &data), data!=-1)
    {
    	tree[n++] = data;
    }
    printf("%d\n", Height(tree, n));
    return 0;
}
输入为若干个整数(不超过512)表示一棵二叉树顺序表示时的结点元素值,其中0表示二叉树对应结点为空。输入以-1结束。
输出二叉树的高度。
//这道题可以不用递归,直接用完全二叉树的一个性质
#include<stdio.h>
#include<math.h>
int Height(int *tree,int n)
{
    
        return (int)log2(n)+1; 

    

}
View Code

猜你喜欢

转载自www.cnblogs.com/zzjam--1/p/10891041.html