數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)之-樹(shù)與二叉樹(shù)的轉(zhuǎn)換(共14頁(yè)).doc
《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)之-樹(shù)與二叉樹(shù)的轉(zhuǎn)換(共14頁(yè)).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)之-樹(shù)與二叉樹(shù)的轉(zhuǎn)換(共14頁(yè)).doc(14頁(yè)珍藏版)》請(qǐng)?jiān)趨R文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 綱要一 程序設(shè)計(jì)要求與目的二 存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)三 算法設(shè)計(jì)(流程圖)四 詳細(xì)設(shè)計(jì)(源代碼)五 調(diào)試與分析六 實(shí)驗(yàn)總結(jié)七 參考文獻(xiàn)第一章 程序設(shè)計(jì)要求與目的題目:樹(shù)與二叉樹(shù)的轉(zhuǎn)換的實(shí)現(xiàn)。以及樹(shù)的前序、后序的遞歸、非遞歸遍歷算法,層次序的非遞歸遍歷算法的實(shí)現(xiàn),應(yīng)包含建樹(shù)的實(shí)現(xiàn)。第二章 存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)引入頭文件:#include <stdio.h>#include <malloc.h>#include <stdlib.h>設(shè)置常量:#define MAX_TREE_SIZE 100一般樹(shù)的存儲(chǔ)結(jié)構(gòu)有以下幾種:雙親結(jié)點(diǎn),孩子結(jié)點(diǎn),孩子兄弟結(jié)點(diǎn)。
2、本實(shí)驗(yàn)運(yùn)用到的是雙親結(jié)點(diǎn)和孩子兄弟結(jié)點(diǎn)。具體存儲(chǔ)結(jié)構(gòu)如下:/*樹(shù)的雙親表示結(jié)點(diǎn)結(jié)構(gòu)定義*/typedef struct int data; int parent; /雙親位置域PTNode;/*雙親表示法樹(shù)結(jié)構(gòu)*/typedef struct PTNode nodeMAX_TREE_SIZE; int count; /根的位置和節(jié)點(diǎn)個(gè)數(shù)PTree;/*樹(shù)的孩子兄弟表示結(jié)點(diǎn)結(jié)構(gòu)定義*/typedef struct nodeint data;struct node *firstchild;struct node *rightsib;BTNode,*BTree;第三章 算法設(shè)計(jì)(流程圖)流程圖:退出
3、程序?qū)哟伪闅v開(kāi)始雙親法建樹(shù)按照格式輸入各個(gè)結(jié)點(diǎn)輸出樹(shù)的結(jié)點(diǎn)情況1主菜單前序遍歷(遞歸)后序遍歷(遞歸)前序遍歷(非遞歸)后序遍歷(非遞歸)輸出遍歷結(jié)果副菜單退出程序23540069第四章 詳細(xì)設(shè)計(jì)(源代碼)詳細(xì)設(shè)計(jì)共有以下函數(shù)的實(shí)現(xiàn):樹(shù)的初始化函數(shù)(雙親法和孩子結(jié)點(diǎn)法兩種),建樹(shù)函數(shù),輸出樹(shù)函數(shù),樹(shù)的前序遍歷函數(shù)(遞歸和非遞歸兩種),樹(shù)的后序遍歷函數(shù)(遞歸和非遞歸兩種),樹(shù)的層次遍歷函數(shù),一般樹(shù)和二叉樹(shù)的轉(zhuǎn)換函數(shù)。主菜單和副菜單。主函數(shù)。具體代碼如下:/初始化樹(shù)(雙親表示法)void init_ptree(PTree *tree) tree->count=-1;/初始化樹(shù)結(jié)點(diǎn)(孩子兄弟表
4、示法)BTNode GetTreeNode(int x)BTNode t;t.data=x;t.firstchild=t.rightsib=NULL;return t;/樹(shù)的前序遍歷(遞歸)void preorder(BTNode *T)if(T!=NULL)printf("%d ",T->data);preorder(T->firstchild);preorder(T->rightsib);/樹(shù)的前序遍歷(非遞歸)void preorder2(PTree T)int i;for(i=0;i<T.count;i+)printf("%d &q
5、uot;,T.nodei);/樹(shù)后序遍歷(遞歸)void inoeder(BTNode *T)if(T!=NULL)inoeder(T->firstchild);printf("%d ",T->data);inoeder(T->rightsib);/樹(shù)后序遍歷(非遞歸)void inoeder2(PTree T)int i;for(i=T.count-1;i>=0;i-)printf("%d ",T.nodei);/層次遍歷void level(PTree T)int i;for(i=0;i<T.count;i+)print
- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì) 二叉 轉(zhuǎn)換 14
鏈接地址:http://zhizhaikeji.com/p-6397416.html