演算法 二叉樹建立

2021-09-02 09:17:08 字數 949 閱讀 2126

【鏈式儲存結構】

struct treenode 

};

【層次建立二叉樹】

// 建立二叉樹

treenode* createtreebylevel(vectornum)//if

queuequeue;

int index = 0;

// 建立根節點

treenode *root = new treenode(num[index++]);

// 入佇列

queue.push(root);

treenode *p = null;

while(!queue.empty() && index < len)

index++;

// 右節點

if(index < len && num[index] != -1)

index++;

}//while

return root;

}

-1代表null

建立如上二叉樹輸入:

15 11 20 8 14 -1 -1 -1 -1 13 -1

【先序建立二叉樹】

//按先序序列建立二叉樹  

int createbtree(treenode*& t)

else

return 0;

}

-1代表null

建立如上二叉樹輸入:

15 11 8 -1 -1 14 13 -1 -1 -1 20 -1 -1

演算法 二叉樹建立

鏈式儲存結構 struct treenode 層次建立二叉樹 建立二叉樹 treenode createtreebylevel vectornum if queuequeue int index 0 建立根節點 treenode root new treenode num index 入佇列 que...

建立二叉樹 後序建立二叉樹

由後序遍歷可知,輸入順序是左結點 右結點 子樹根結點 比如輸入如下樹 ab cde 輸入序列為 e d b c a 思路 使用棧,對左結點和右結點進行壓棧 1.當輸入遇到非 且棧中元素大於等於2,則可以確定乙個小三角樹形,並將這個樹根作為下乙個小三角樹形的乙個子節點 2.當輸入遇到非 但棧中元素小於...

建立二叉樹

今天看到了乙個資料結構的筆試題目,他要求寫出建立二叉樹的程式。我想練習練習,所以想了一下其大致的思路,記錄如下 題目的要求很簡單,給出乙個字串序列 比如說a b d,e h j,k l,m n c f,g i 然後要求按照其規則建立二叉樹,題目不難但是卻花費了我不少的時間 第一步,我想到的是需要什麼...