設計性實驗一 二叉樹的遍歷

2021-06-07 03:07:57 字數 1379 閱讀 6119

一.實驗任務:

二叉樹的遍歷:分別以順序儲存結構和二叉鍊錶作儲存結構,試編寫前序、中序、後序及層次順序遍歷二叉樹的演算法。

二.實驗任務的子任務:

本人設計以二叉鍊錶作儲存結構,編寫前序、中序、後序及層次順序遍歷二叉樹的演算法。

三.演算法分析(如圖):文字或流程圖或畫圖說明都可

1.假設輸入的資料即為乙個二叉鏈結構。

2.再分別按前序,中序,後序及層次順序遍歷二叉樹結構。

3.最後按實驗順序將結果進行顯示。

四.源**:

#include

<

stdio

.h>

#include<

malloc

.h>

#include<

stdio

.h>

#define m10

typedef

intdatatype;/*

元素的資料型別

*/ typedef

struct

node

bittnode

,*bitree;

intfront

=0,rear

=0; bittnode

*que

[10];

bittnode

*creat()

return(t

); }

/*creat*/

/* 前序遍歷二叉樹

t */

void

preorder

(bitreet)

}/*

中序遍歷二叉樹

t */

void

inorder

(bitreet)

}/*

後序遍歷二叉樹

t */

void

postorder

(bitreet)

}void

enqueue

(bittnode*t

) }/*enqueue*/

bittnode

* delqueue()

}/*delqueue*/

/* 按層次遍歷二叉樹

t */

void

levorder

(bitreet)

}}/* levorder */

void

main()

執行結果:

實驗結論:

通過本實驗我們可以進一步了解,二叉樹的建立,前、後、中序遍歷,以及二叉樹的一些基本性質等操作。對遞迴呼叫有了更進一步的理解。

複習整理 (一)二叉樹遍歷

介紹常規的三種遞迴遍歷方法 先中後 以及非遞迴的先序 中序 後序 層序遍歷對二叉樹這種資料結構有一定了解 遍歷二叉樹的目的是為了訪問到每個結點且按照某一特定的順序 一定要記住子樹的根 左 右 遞迴的特點就是 可讀性高,容易理解 先序遍歷,以rt為根的樹 根 左 右 template void bin...

二叉樹相關演算法(一) 二叉樹的遍歷

遞迴方式會導致每個節點會經過三次,先序是在第一次經過節點時訪問,中序是第二次經過節點時訪問,後序是第三次經過節點時訪問。其中較為特殊的是葉子節點,左孩子和右孩子都為空,訪問空樹時什麼都不做就返回。public static void p node h 1 利用棧來進行實現,三種演算法在理解的基礎上進...

二叉樹學習(一)二叉樹基礎

最近準備學習一下資料結構,二叉樹當然是必須要了解的了。網上看了一些貼子,順便把重要的內容就記下來了,有需要的同學可以看看,入門看很有幫助。1.1 定義 1.2 結點的度 1.3 結點關係 1.4 結點層次 2.1 定義 2.2 二叉樹特點 每個結點最多有兩顆子樹,所以二叉樹中不存在度大於2的結點。左...