下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
試驗六、樹和二叉樹的操作壹、試驗目的1.深入掌握樹的構造及非線性特點,遞歸特點和動態(tài)性。2.深入鞏固對指針的使用和二叉樹的三種遍歷措施、建立措施。二、試驗內容二叉樹的實現(xiàn)和運算三、試驗規(guī)定1.用C++/C完畢算法設計和程序設計并上機調試通過。2.撰寫試驗匯報,提供試驗成果和數據。3.分析算法,并簡要給出算法設計小結和心得。四、程序實現(xiàn)#include<iostream.h>#include<stdlib.h>typedefcharDataType;typedefstructBitNode{ DataTypedata;structBitNode*lchild,*rchild;}*BitTree;voidBinTreeInit(BitTree&BT)//初始化二叉樹,即把樹根指針置空{ BT=(BitTree)malloc(sizeof(BitNode)); BT->data=NULL; cout<<"二叉樹初始化成功!"<<endl;}intBinTreeCreat(BitTree&BT)//按先序次序建立壹種二叉樹{ charch; cin>>ch; if(ch=='#')BT=NULL; else { if(!(BT=(BitTree)malloc(sizeof(BitNode)))) exit(0); BT->data=ch; BinTreeCreat(BT->lchild);BinTreeCreat(BT->rchild); }return0; //cout<<"按先序序列建立壹種二叉樹已經完畢!"<<endl;}voidBinTreeEmpty(BitTree&BT)//檢查二叉樹與否為空{ if(BT->data==NULL) cout<<"是空二叉樹!"<<endl; else cout<<"不是空二叉樹!"<<endl;}voidBinTraverse(BitTree&BT)//先序序列遍歷二叉樹{ if(BT!=NULL) { cout<<BT->data; BinTraverse(BT->lchild); BinTraverse(BT->rchild); }}intBinTreeDepth(BitTreeBT)//求二叉樹的深度{intdepthval;if(BT){intdepthLeft=BinTreeDepth(BT->lchild); intdepthRight=BinTreeDepth(BT->rchild);depthval=1+(depthLeft>depthRight?depthLeft:depthRight);}elsedepthval=0;returndepthval;}intBinTreeCount(BitTreeBT)//求二叉樹中所有結點數{intnode;if(BT){ intlchild=BinTreeCount(BT->lchild);intrchild=BinTreeCount(BT->rchild); node=lchild+rchild+1;}else node=0;returnnode;}voidmain(){ inti; BitTreeBT; cout<<"1、初始化二叉樹:"<<"\n2、按先序序列建立二叉樹"<<"\n3、判斷二叉樹與否為空:"; cout<<"\n4、先序序列遍歷二叉樹"<<"\n5、求二叉樹的深度"<<"\n6、求二叉樹節(jié)點的個數"<<endl; for(;;) { cout<<"輸出你所需的操作:"; cin>>i; if(i==1) BinTreeInit(BT); elseif(i==2) { cout<<"輸入你要建立的二叉樹:"<<endl; BinTreeCreat(BT); } elseif(i==3) BinTreeEmpty(BT); elseif(i==4) BinTraverse(BT); elseif(i==5) cout<<"二叉樹的深度:"<<BinTreeDepth(BT)<<endl; elseif(i==6) cout<<"二叉樹的節(jié)點數"<<BinTreeCount(BT)<<endl; else return; }}五、寫出輸入數據及運行成果六、心得體會樹是常用的數據構造。通過試驗加深了我對樹的遍歷的認識,鞏固了書本中所學的有關樹的基本算法。按規(guī)定完畢了試驗內容。通過試驗,有如下幾點收獲和體會:1、通過試驗還提高了壹點改錯能力,對于某些常見問題加深了印象。2、編程需要有耐心,尤其實在單步調試的時候,更是馬虎不得,有時候關鍵就是那么壹步,錯過了就得從頭來過了。編程也需要勇氣,要勇于發(fā)現(xiàn)自已的錯誤,也要勇于推翻自已之前的思緒,要堅信“沒有最佳,只有更好”。編程,最佳是壹鼓作氣,得每天“摸摸”它,時時想著它,要是過壹陣再去碰它那就得先去讀懂自已的程序了,壹切的壹切幾乎都得從頭開始。編程需要細心,有時壹種不注意小錯誤就能引出大問題。編程也需要規(guī)范,不僅為了他人能看得懂程序,也為了以便自已後來程序的更改與深入的完善。3、程序由算法和數據構造構成,壹種好的程序不僅算法重要,數據構造的設計也很重要。4、由于編程的積累,我發(fā)現(xiàn)調試程序的速
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 奢侈品培訓汽車
- 專業(yè)分包化標準精裝修工程管理
- Windows Server網絡管理項目教程(Windows Server 2022)(微課版)3.6 DHCP-任務5 DHCP客戶端配置
- 語法選修課 高中英語 非謂語動詞 A篇
- 江蘇省徐州市銅山區(qū)2023-2024學年九年級上學期期中英語試卷(含答案解析)
- 第六章質量與密度基礎練習題(含解析)2024-2025學年初中物理人教版八年級上冊
- 2024至2030年中國干豬膀胱行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國多用途雙面黏貼布帶行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國保安單元殼數據監(jiān)測研究報告
- 2024年山東省中考語文試題含解析
- 買賣合同法律風險防范講座課件
- 《種樹郭橐駝傳》課件25張-統(tǒng)編版高中語文選擇性必修下冊
- 八年級體育與健康學科:第二章 素質與鍛煉之柔韌練習教案-柔韌性練習1
- 遼寧省阜新市基層診所醫(yī)療機構衛(wèi)生院社區(qū)衛(wèi)生服務中心村衛(wèi)生室名單目錄信息
- 人教版九年級英語全一冊總復習課件
- 廣播操比賽打分表
- 體育運動類知識競賽參考題庫200題(含答案)
- 第一單元 分數乘法應用題專項過關卷(單元測試)六年級上冊數學人教版
- 華為大學人才培養(yǎng)與發(fā)展實踐
- 圖形推理1概要課件
- 蘇教版二年級心理健康教育上冊第三課《不開心的時候》課件
評論
0/150
提交評論