問題 A DS二叉樹 二叉樹構建與遍歷

2021-10-10 06:28:40 字數 1206 閱讀 3991

題目描述

給定一顆二叉樹的邏輯結構如下圖,(先序遍歷的結果,空樹用字元『#』表示,例如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 結點 二叉樹中的每乙個元素都稱為結點。通常二叉樹的許多名...