數據結構:二叉樹高度(順序存儲)


給定順序存儲的二叉樹,求二叉樹的高度。

二叉樹的順序存儲是指用一組地址連續的存儲單元依次自上而下、自左向右存儲完全二叉樹上的結點元素(一般二叉樹則將其每個結點與完全二叉樹上的結點對照)。

部分代碼已經給出,請補充完整,提交時請勿包含已經給出的代碼。

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

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM