蘭州大學(xué)數(shù)據(jù)結(jié)構(gòu)命題作業(yè)二叉樹(shù)完整答案考試學(xué)習(xí)_第1頁(yè)
蘭州大學(xué)數(shù)據(jù)結(jié)構(gòu)命題作業(yè)二叉樹(shù)完整答案考試學(xué)習(xí)_第2頁(yè)
蘭州大學(xué)數(shù)據(jù)結(jié)構(gòu)命題作業(yè)二叉樹(shù)完整答案考試學(xué)習(xí)_第3頁(yè)
蘭州大學(xué)數(shù)據(jù)結(jié)構(gòu)命題作業(yè)二叉樹(shù)完整答案考試學(xué)習(xí)_第4頁(yè)
蘭州大學(xué)數(shù)據(jù)結(jié)構(gòu)命題作業(yè)二叉樹(shù)完整答案考試學(xué)習(xí)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

參考資料--一頁(yè)眉頁(yè)腳可刪除蘭州大學(xué)二叉樹(shù)有二叉樹(shù)如圖1所示,用三種遍歷方法遍歷二叉樹(shù),寫出遍歷結(jié)果,并息結(jié)三種遍歷方法的特征。aF選擇其中的一種遍歷結(jié)果,來(lái)用至少兩種排序方法磐其按從?大到小的順序中排列…?⑸…簡(jiǎn)要比較和評(píng)份所選排序算法…作業(yè)要求:。111排序方法需描述算法思路并用程序描述算法,程序請(qǐng)?zhí)砑幼⑨屫翱?21排序算法的評(píng)價(jià)和比較主要馱復(fù)雜度入手…「第一題〃二叉樹(shù)結(jié)點(diǎn)typedefstructBiTNode{〃數(shù)據(jù)chardata;〃左右孩子指針structBiTNode*lchild,*rchild;}BiTNode,*BiTree;〃按前序遍歷創(chuàng)建二叉樹(shù)intCreateBiTree(BiTree&T){chardata;〃按先序次序輸入二叉樹(shù)中結(jié)點(diǎn)的值(一個(gè)字符),‘#’表示空樹(shù)學(xué)習(xí)練習(xí)#——參考資料——頁(yè)眉頁(yè)腳可刪除scanf("%c",&data);if(data=='#'){T=NULL;)else{T=(BiTree)malloc(sizeof(BiTNode));〃生成根結(jié)點(diǎn)T->data=data;〃構(gòu)造左子樹(shù)CreateBiTree(T->lchild);〃構(gòu)造右子樹(shù)CreateBiTree(T->rchild);)return0;)〃輸出voidVisit(BiTreeT){if(T->data!='#'){printf("%c",T->data);))〃前序遍歷voidPreOrder(BiTreeT){if(T!=NULL){〃訪問(wèn)根節(jié)點(diǎn)Visit(T);〃訪問(wèn)左子結(jié)點(diǎn)學(xué)習(xí)練習(xí)#——參考資料——頁(yè)眉頁(yè)腳可刪除PreOrder(T->lchild);〃訪問(wèn)右子結(jié)點(diǎn)PreOrder(T->rchild);))〃中序遍歷voidInOrder(BiTreeT){if(T!=NULL){〃訪問(wèn)左子結(jié)點(diǎn)InOrder(T->lchild);〃訪問(wèn)根節(jié)點(diǎn)Visit(T);〃訪問(wèn)右子結(jié)點(diǎn)InOrder(T->rchild);))〃后序遍歷voidPostOrder(BiTreeT){if(T!=NULL){〃訪問(wèn)左子結(jié)點(diǎn)PostOrder(T->lchild);〃訪問(wèn)右子結(jié)點(diǎn)PostOrder(T->rchild);〃訪問(wèn)根節(jié)點(diǎn)Visit(T);))學(xué)習(xí)練習(xí)#參考密料--一頁(yè)眉頁(yè)腳可刪除前序/先序遍歷:結(jié)果:1245736特征:訪問(wèn)根結(jié)點(diǎn)的操作發(fā)生在遍歷其左右子樹(shù)之前中序遍歷:結(jié)果:4275136特征:訪問(wèn)根結(jié)點(diǎn)的操作發(fā)生在遍歷其左右子樹(shù)之中(間)后序遍歷:結(jié)果:4752631特征:訪問(wèn)根結(jié)點(diǎn)的操作發(fā)生在遍歷其左右子樹(shù)之后第二題采用中序遍歷的結(jié)果:4275136從大到小排序直接插入排序:voidInsSort(inta[],intk)(intj;for(inti=1;i<k;i++)//循環(huán)從第2個(gè)元素開(kāi)始(if(a[i]>a[i-1])(inttemp=a[i];for(j=i-1;j>=0&&a[j]<temp;j--)(a[j+1]=a[j];)學(xué)習(xí)練習(xí)#—參考資料——頁(yè)眉頁(yè)腳可刪除a[j+1]=temp;〃止匕處就是a[j+1]=temp;)))冒泡排序:voidBubbleSort(inta[],intk)(inti,j,temp;for(j=0;j<n-1;j++)(for(i=0;i<n-1-j;i++)(if(a[i]<a[i+1])(temp=a[i];a[i]=a[i+1];a[i+1]=temp;))))voidmain()(inta[]={4,2,7,5,1,3,6};intk=sizeof(a)/sizeof(a[0]);//數(shù)組大小InsSort(a,k);//直接插入排序for(inti=0;i<k;i++)學(xué)習(xí)練習(xí)#—參考資料——頁(yè)眉頁(yè)腳可刪除(printf("%d",a[i]);)printf("\n");intb[]={4,2,7,5,1,3,6};intn=sizeof(a)/sizeof(a[0]);/微組大小BubbleSort(b,n);//冒泡排序for(inti=0;i<n;i++){printf("%d",b[i]);}printf("\n");}第三題直接插入排序:思想:最基本的插入排序,將第n個(gè)插入到前n-1個(gè)中的適當(dāng)位置時(shí)間復(fù)雜度:T(n)=O(n2)穩(wěn)定性:穩(wěn)定排序。循環(huán)條件(j>=0&&a[j]<temp)保證的冒泡排序:思想:反復(fù)掃描待排序序列,在掃描的過(guò)程中順次比較相鄰的兩個(gè)元素的大小,若逆序就交換位置。第一趟,從第一個(gè)數(shù)據(jù)開(kāi)始,比較相鄰的兩個(gè)數(shù)據(jù),(以升序?yàn)槔?如果大就交換,得到一個(gè)最大數(shù)據(jù)在末尾;然后進(jìn)行第二趟,只掃描前n-1個(gè)元素,得到次大的放在倒數(shù)第學(xué)習(xí)練習(xí)#—

溫馨提示

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

評(píng)論

0/150

提交評(píng)論