二叉樹的中序遍歷(樹)

2021-07-11 01:59:02 字數 1541 閱讀 4409

description

給你一棵二叉樹 

input

輸入第一行為該樹中結點的個數n,第二行到第n+1行分別為這n個結點的值(也代表序號),左子樹和右子樹,

output

輸出二叉樹的中序遍歷

sample input

1 2 3 

2 4 5 

3 0 0 

4 0 0 

5 0 0

sample output

3

解題思路:

先讀入資料,放入二維陣列,然後迴圈,如果它不是根結點就開始遞迴,輸出,再遞迴。

程式:
var
a:array[1..100,1..2] of longint;
x,i,y,z,n:longint;

function check(x:longint):boolean;
var
i:longint;

begin
for i:=1 to n do

if (a[i,1]=x) or (a[i,2]=x) then exit(false);

exit(true);

end;

procedure print(x:longint);
begin
if x=0 then exit;

print(a[x,1]);

writeln(x);

print(a[x,2]);

end;

begin
readln(n);
for i:=1 to n do
begin

readln(x,y,z);

a[x,1]:=y;

a[x,2]:=z;

end;

for i:=1 to n do
if check(i) then begin print(i); exit; end;

end.
版權屬於: 

chris

二叉樹中序遍歷

訪問根結點的的左子樹,訪問根結點和訪問根結點的右子樹依次記作 l,d r 中序遍歷 ldr 演算法 遍歷根結點的左子樹,訪問根結點 遍歷根結點的右子樹 對於上面的圖,我們假定只有a,b,c三個結點,則中序遍歷結果為 b a c 採用上節 二叉樹鏈式儲存和前序遍歷 中的遞迴推演 db a c d b ...

二叉樹中序遍歷

二叉樹中序遍歷 非遞迴版本的中序遍歷用棧來實現。乙個元素出現在棧頂一次,這一次會被處理並出棧。trick 用乙個指標去記錄當前節點cur,如果cur left左側還未遍歷,就會將cur入棧並訪問cur left。一行很重要的 是cur cur right,這一句之後如果cur null,則說明棧頂元...

二叉樹先序遍歷和中序遍歷確定二叉樹

由於希望得到一顆二叉樹,所以返回值型別是乙個指向根節點的指標 表示得到了一顆二叉樹 btnode creatbt char pre,char int,int l1,int r1,int l2,int r2 引數列表有傳入的先序序列和後序序列和他們的開頭和結尾 由於是遞迴函式,先寫乙個遞迴出口,顯然是...