題目描述
給定一顆二叉樹的邏輯結構如下圖,(先序遍歷的結果,空樹用字元『#』表示,例如ab#c##d##),建立該二叉樹的二叉鏈式儲存結構,並輸出該二叉樹的先序遍歷、中序遍歷和後序遍歷結果。
輸入
第一行輸入乙個整數t,表示有t個二叉樹
第二行起輸入每個二叉樹的先序遍歷結果,空樹用字元『#』表示,連續輸入t行。
輸出
輸出每個二叉樹的先序遍歷、中序遍歷和後序遍歷結果。
樣例輸入
2ab#c##d##
ab##c##
樣例輸出
abcd
bcad
cbda
abcbac
bca
#include
#include
using
namespace std ;
class
treenode};
class
tree
void
inittree()
void
createtree
(treenode *r,
char ch)
cin >> chright ;
if(chright!=
'#')
return;}
void
dlr(treenode *r)
}void
ldr(treenode *r)
else
//if not, output the data of node, and push the right node into stack(if not null)
}//after pushing the right child, we begin this loop from left child again}}
// void ldr(treenode *r)//遞迴實現中序遍歷
//
// }
void
lrd(treenode *r)}}
;int
main()
return0;
}
構建二叉樹 遍歷二叉樹
陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...
二叉樹 二叉樹
題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...
二叉樹 滿二叉樹與完全二叉樹
二叉樹 binary tree 是n n 0 個元素的有限集合,該集合為空或者為由乙個稱為 根 的元素及兩個不相交的 被分別稱為左子樹和右子樹的二叉樹組成 二叉樹的基本特點 每個結點最多有兩棵子樹 左子樹和右子樹是有順序的,且不可顛倒 圖一1 結點 二叉樹中的每乙個元素都稱為結點。通常二叉樹的許多名...