下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、請輸入字符,以0作為每個節(jié)點的結束標志:i請輸入字符,以0作為每個節(jié)點的結束標志淚請輸入字符,以0作為每個節(jié)點的結束標志淚請輸入字符,以0作為每個節(jié)點的結束標志淚先根序列:datat1=adatat 21=bdatat31= ddatat41= cdataL51= edatat63 =gdatat 71=i中根序列:dataL13 =ddata】2 =bdataL3 = adataL4= edataL51=gdataL63 =idata】71=c后根序列:datat13 =ddata】21=bdatat31= idatat41= gdatat51= edatat63 =cdata】71=a請輸
2、入字符,以0作為每個節(jié)點的結束標志5 請輸入字符,以0作為每個節(jié)點的結束標志:h 請輸入字符,以0作為每個節(jié)點的結束標志記 請輸入字符,以0作為每個節(jié)點的結束標志淚 請輸入字符,以0作為每個節(jié)點的結束標志咱 請輸入字符,以0作為每個節(jié)點的結束標志淚 請輸入字符,以0作為每個節(jié)點的結束標志“ 請輸入字符,以0作為每個節(jié)點的結束標志“ 請輸入字符,以0作為每個節(jié)點的結束標志咱 請輸入字符,以0作為每個節(jié)點的結束標志也 請輸入字符,以0作為每個節(jié)點的結束標志 請輸入字符,以0作為每個節(jié)點的結束標志:i請輸入字符,以0作為每個節(jié)點的結束標志汨請輸入字符,以0作為每個節(jié)點的結束標志:i請輸入字符,以0作
3、為每個節(jié)點的結束標志淚請輸入字符,以0作為每個節(jié)點的結束標志淚請輸入字符,以0作為每個節(jié)點的結束標志淚先根序列:dataE 11= a datat 21= b datat 31= d datat 41= c datat 5 = edata T fi 1 = a data T 7 T = i能矗KM字符的處理模式ttinclude ttinclude 能矗KM字符的處理模式為了増強程序的多珂 當CHAR沒有皺定乂時數(shù)據(jù)類塑苗注義ttiFdeF CHARtypedeF char datatype; ttelsetypedeF int datatype; ttendiFtypedeF struct
4、node1datatype data;struct node *lchild,*rchild; Jbitree;bitree *root;int n;char c;創(chuàng)建二叉樹bitree *creat_preorder() _bitree *t;datatype x;ttiFdeF CHARPrintF(ntt請輸入字符,以乍為每個節(jié)點的結束標志:“); scanFfc,&x);/ FFlush(stdin);/清除緩沖區(qū)While(c=getchar()? = n&c?=EOF);清除緩沖區(qū)另外的方法 iF(x=0)t=NULL;#elseprintF(ntt請輸入正整數(shù)以酬乍為結束標志:)
5、; scanFCd&x);iF(x=O)t=NULL;ttendiFelsedata=x;t-lchild=creat_preorder(); t-rchild=creat_preorder(); _return(t);丨return(t);先根遍歷算法void preorder(bitree *t)if(t?=NULL)n=n+1;ttiFdeF CHARprintF(,tdata%2d=%3c,n,t-data); ttelseprintF(,tdata%2d=%3d,n,t-data); ttendiFiF(n%5=0)printF(,n,lchild); preorder(t-rchi
6、ld);中根遍歷算法void inorder(bitree *t)if(t?=NULL)lchild);n=n+1;ttiFdeF CHARprintF(,tdata%2d=%3c,n,t-data); ttelseprintF(,tdata%2d=%3d,n,t-data); ttendiFiF(n%5=0)printF(,n,rchild);后根遍歷算法void postorder(bitree *t)rchild);后根遍歷算法uoid postorder(bitree *t)if(t!=NULL)lchild); postorder(t-rchild); n=n+1;ttifdeF C
7、HAR printF(,tdata2d=3c,n,t-data); ttelse printF(,tdata2d=3d,n,t-data); ttendiFiF(n5=0)printF(,n);main()bitree *bintree=creat_preorder(); printf(n$fc根序列:nn); preorder(bintree);n=B;printf(n中根序列:nn); inorder(bintree);n=8;printf(njq根序列:nn); postorder(bintree);n=8;printf(nn); return 0;一、問題需求分析利用程序建立一個二叉樹
8、,并實現(xiàn)各種遍歷算法。二、算法選擇 二叉樹的建立 二叉樹建立的方法有很多種,最常用的是采用遞歸的先根次序來建立,這次的實驗就是采用 此算法。二叉樹的遍歷二叉樹的遍歷有常用的三種方法,分別是:先根次序、中根次序、后根次序。為了驗證這幾 種遍歷算法的區(qū)別,本次的實驗將會實現(xiàn)所有的算法。遍歷的時候,把結點的信息打印出來,為了讓結點的信息更容易區(qū)別,在每個結點前加上數(shù) 字標識。如:datal=A,data2=B.實現(xiàn)的算法皆為遞歸算法。三、分情況處理的實現(xiàn)由于算法需要同時實現(xiàn)出來字符型數(shù)據(jù)和整形數(shù)據(jù),這兩種數(shù)據(jù)處理過程中,對輸入和輸出 的處理會有所不同,為了實現(xiàn)這個功能,采用#ifdef和#else的代碼選擇方法。代碼示例:#def
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年獼猴桃樹種子種質(zhì)資源保護與利用合同4篇
- 二零二五年度面包磚市場推廣與銷售渠道建設合同4篇
- 二零二五年度環(huán)保設備技術改造與維護合同4篇
- 二零二五年度乘風破浪或有事的動態(tài)環(huán)保技術開發(fā)合同4篇
- 2025年度面包磚生產(chǎn)線自動化改造合同范本3篇
- 2025年度奶業(yè)廢棄物處理與資源化利用合同3篇
- 二零二五版智能門禁管理系統(tǒng)集成服務合同協(xié)議4篇
- 二零二五年度辦公用品采購合同范本樣本3篇
- 2025年度軟件質(zhì)量控制合同協(xié)議4篇
- 專屬2024版員工離職合同模板
- 2024年公證遺產(chǎn)繼承分配協(xié)議書模板
- 燃氣經(jīng)營安全重大隱患判定標準課件
- JB-T 8532-2023 脈沖噴吹類袋式除塵器
- 深圳小學英語單詞表(中英文)
- 護理質(zhì)量反饋內(nèi)容
- 山東省濟寧市2023年中考數(shù)學試題(附真題答案)
- 抖音搜索用戶分析報告
- 鉆孔灌注樁技術規(guī)范
- 2023-2024學年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學設計
- 供貨進度計劃
- 彌漫大B細胞淋巴瘤護理查房
評論
0/150
提交評論