2023年二叉樹的建立及遍歷實驗報告_第1頁
2023年二叉樹的建立及遍歷實驗報告_第2頁
2023年二叉樹的建立及遍歷實驗報告_第3頁
2023年二叉樹的建立及遍歷實驗報告_第4頁
2023年二叉樹的建立及遍歷實驗報告_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗三:二叉樹的建立及遍歷【實驗目的】掌握運用先序序列建立二叉樹的二叉鏈表的過程。掌握二叉樹的先序、中序和后序遍歷算法。【實驗內容】編寫程序,實現二叉樹的建立,并實現先序、中序和后序遍歷。如:輸入先序序列abc###de###,則建立如下圖所示的二叉樹。并顯示其先序序列為:abcde中序序列為:cbaed后序序列為:cbeda【實驗環(huán)節(jié)】1.打開VC++。2.建立工程:點File->New,選Project標簽,在列表中選Win32ConsoleApplication,再在右邊的框里為工程起好名字,選好途徑,點OK->finish。至此工程建立完畢。3.創(chuàng)建源文獻或頭文獻:點File->New,選File標簽,在列表里選C++SourceFile。給文獻起好名字,選好途徑,點OK。至此一個源文獻就被添加到了你剛創(chuàng)建的工程之中。4.寫好代碼5.編譯->鏈接->調試#include<stdio.h>#include<malloc.h>#defineOK1#defineOVERFLOW-2typedefintStat(yī)us;typedefcharTElemType;typedefstructBiTNode{TElemTypedata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;StatusCreateBiTree(BiTree&T){ TElemTypech;scanf("%c",&ch);if(ch=='#')? T=NULL;else?{if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))returnOVERFLOW;T->data=ch;CreateBiTree(T->lchild);CreateBiTree(T->rchild); }returnOK;}//CreateBiTreevoidPreOrder(BiTreeT){ if(T)?{printf("%c",T->data);PreOrder(T->lchild);PreOrder(T->rchild);? ?}}voidInOrder(BiTreeT){if(T)?{InOrder(T->lchild);printf("%c",T->data);InOrder(T->rchild);? }}voidPostOrder(BiTreeT){ if(T)?{PostOrder(T->lchild);PostOrder(T->rchild);printf("%c",T->dat(yī)a);? }}voidmain(){ BiTreeT;?CreateBiTree(T); printf("\n先序遍歷序列:"); PreOrder(T); ?printf("\n中序遍歷序列:");?InOrder(T);?printf("\n后序遍歷序列:");?PostOrder(T);}【實驗心得】這次實驗重要是通過先序序列建立二叉樹,和二叉樹的先序、中序、后續(xù)遍歷算法。通過這次實驗,我鞏固了二叉樹這部分知識,從中體會理論知識的重要性。在做實驗之前,要充足的理解本次實驗的理論依據,這樣才干達成事半功倍的效果。假如在沒有真正理解實驗原理之盲目的開始實驗,只會浪費時間和精力。例如進行二叉樹的遍歷的時候,要先理解各種遍歷的特點。先序遍歷是先遍歷根節(jié)點,再依次先序遍歷左右子樹。中序遍歷是先中序遍歷左子樹,再訪問根節(jié)點,最后中序遍歷右子樹。而后序遍歷則是先依次后續(xù)遍歷左右子樹,再訪問根節(jié)點。掌握了這些,在實驗中我們就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論