數(shù)據(jù)結(jié)構(gòu)實訓(xùn)報告_第1頁
數(shù)據(jù)結(jié)構(gòu)實訓(xùn)報告_第2頁
數(shù)據(jù)結(jié)構(gòu)實訓(xùn)報告_第3頁
數(shù)據(jù)結(jié)構(gòu)實訓(xùn)報告_第4頁
數(shù)據(jù)結(jié)構(gòu)實訓(xùn)報告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、樹與二叉樹轉(zhuǎn)化的實考核項考核內(nèi)得樹與二叉樹轉(zhuǎn)化的實考核項考核內(nèi)得(20)(20)(15分)回答老師針對課程設(shè)問課程設(shè)撰(10)(5)總 指導(dǎo)教師評語日期目錄1課程設(shè)計目標(biāo)與任1.1 課程設(shè)計目1.2課程設(shè)計任目錄1課程設(shè)計目標(biāo)與任1.1 課程設(shè)計目1.2課程設(shè)計任2分析與設(shè)題目算法分結(jié)構(gòu)設(shè)算法描程序流程算法實現(xiàn)說3程. 4測4.1測試數(shù)分5總參考文1程設(shè)計目標(biāo)與任1.1程設(shè)計目設(shè)計的綜合訓(xùn)練,1程設(shè)計目標(biāo)與任1.1程設(shè)計目設(shè)計的綜合訓(xùn)練,1.2程設(shè)計任2析與設(shè)2.1目算法分。n(1);(2);(3)連結(jié)所有兄弟結(jié)點(diǎn)(擁有同一個父結(jié)點(diǎn)的子結(jié)點(diǎn)。(1)(2)的;(3)結(jié)構(gòu)設(shè)2析與設(shè)2.1目算法分。

2、n(1);(2);(3)連結(jié)所有兄弟結(jié)點(diǎn)(擁有同一個父結(jié)點(diǎn)的子結(jié)點(diǎn)。(1)(2)的;(3)結(jié)構(gòu)設(shè)分析樹和二叉樹結(jié)構(gòu),二叉樹2.12.12.22.22.3法描2.4序流程2.22.22.3法描2.4序流程2.32.32.5法實現(xiàn)說(1)voidpreorderTree(CTreeNode*ctroot)/dataCTreeNode coutctroot-2.32.5法實現(xiàn)說(1)voidpreorderTree(CTreeNode*ctroot)/dataCTreeNode coutctroot-for(i=0;iCTreeFront=q-void initQueueBTree(QueueBTr

3、ee (2)BTreeNode *BTreeArrayMAX_NODE_NUMtypedef struct 址/struct nodeBTree void initQueueCTree(QueueCTree q=(QueueCTree q-CTreeFront=q-void initQueueBTree(QueueBTree q=(QueueBTree q-BTreeFront=q-addQueueCTree(QueueCTree *&q,CTreeNode if(q-CTreeRear+1)%MAX_NODE_NUM=q-CTreeFront)/return q-CTreeRear=(q-q

4、-CTreeArrayq-return 1;/addQueueBTree(QueueBTree *&q,BTreeNode if(q-BTreeRear+1)%MAX_NODE_NUM=q-BTreeFront)/return q-BTreeRear=(q-q-BTreeArrayq-return 1;/(3)btroot的,從根開始一直向右,遇到的點(diǎn)的return q-CTreeRear=(q-q-CTreeArrayq-return 1;/addQueueBTree(QueueBTree *&q,BTreeNode if(q-BTreeRear+1)%MAX_NODE_NUM=q-BTre

5、eFront)/return q-BTreeRear=(q-q-BTreeArrayq-return 1;/(3)btroot的,從根開始一直向右,遇到的點(diǎn)的中變?yōu)樵摻Y(jié)點(diǎn)右側(cè)的兄弟),將樹轉(zhuǎn)化成二叉樹voidTreeToBTree(CTreeNode*ctroot,BTreeNode*&btroot)/ctroot,btroot,QueueCTree QueueBTree *VisitedBTreeNodes;/initQueueBTree(VisitedBTreeNodes);/CTreeNode BTreeNode btroot=(BTreeNode *)malloc(sizeof(BTr

6、eeNode);/btroot-troot-data;/btroot-lchild=btroot-addQueueCTree(VisitedCTreeNodes,ctroot);/addQueueBTree(VisitedBTreeNodes,btroot);/ctnode=delQueueCTree(VisitedCTreeNodes);/btnode=delQueueBTree(VisitedBTreeNodes);/if(ctnode-childreni=NULL)/p=(BTreeNode *)malloc(sizeof(BTreeNode);/點(diǎn)p-tnode-childreni-p

7、-lchild=p-BTreeNode btroot=(BTreeNode *)malloc(sizeof(BTreeNode);/btroot-troot-data;/btroot-lchild=btroot-addQueueCTree(VisitedCTreeNodes,ctroot);/addQueueBTree(VisitedBTreeNodes,btroot);/ctnode=delQueueCTree(VisitedCTreeNodes);/btnode=delQueueBTree(VisitedBTreeNodes);/if(ctnode-childreni=NULL)/p=(B

8、TreeNode *)malloc(sizeof(BTreeNode);/點(diǎn)p-tnode-childreni-p-lchild=p-btnode-lchild=p;/LastSibling-rchild=p;/addQueueCTree(VisitedCTreeNodes,ctnode-addQueueBTree(VisitedBTreeNodes,p);/void Preorder(BTreeNode coutT-Preorder(T-void Preorder(BTreeNode coutT-Preorder(T-Preorder(T-3using #defineDEGREE3using

9、 #defineDEGREE5 #define NULL 0#define QUEUESIZE #define MAX_NODE_NUM typedef struct st1/char data;/charstruct st1 *childrenDEGREE;/typedefstructst2char data;/struct st2 *lchild,*rchild;/CTreeNode *SearchCTree(CTreeNode *root ,char CTreeNode*returnNode; return root;CTreeNode char data, CTreeNode*root

10、,*parentNode,*node; returnNULL;/空樹,結(jié)束函數(shù) root=(CTreeNode*)malloc(sizeof(CTreeNode); node=(CTreeNode*)malloc(sizeof(CTreeNode); if(parentNode-return void preorderTree(CTreeNode *ctroot)/return void preorderTree(CTreeNode *ctroot)/dataCTreeNode*ctchild; coutdataCTreeFront=q-QueueBTreeEmpty(QueueBTree r

11、eturn(q-BTreeFront=q-CTreeNode *delQueueCTree(QueueCTree CTreeNode return NULL;/返回空指針return ctroot;/return 0;return 1;/QueueCTreeEmpty(QueueCTree return(q-CTreeFront=q-QueueBTreeEmpty(QueueBTree return(q-BTreeFront=q-CTreeNode *delQueueCTree(QueueCTree CTreeNode return NULL;/返回空指針return ctroot;/BTre

12、eNode *delQueueBTree(QueueBTree BTreeNode return NULL;/返回空指針return btroot;/void TreeToBTree(CTreeNode *ctroot,BTreeNode *&btroot)/ctrootbtroot,QueueCTree *VisitedCTreeNodes; QueueBTree*VisitedBTreeNodes;/輔助隊列 CTreeNode *ctnode;BTreeNode*btnode,*p,*LastSibling; btroot=(BTreeNode *)malloc(sizeof(BTreeNode);/btroot-troot-data;/p=(BTreeNode *)malloc(sizeof(BTreeNode);/p-tnode-childreni-p-t

溫馨提示

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

最新文檔

評論

0/150

提交評論