數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)-二叉排序樹(shù)應(yīng)用實(shí)驗(yàn)報(bào)告(共15頁(yè)).doc
《數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)-二叉排序樹(shù)應(yīng)用實(shí)驗(yàn)報(bào)告(共15頁(yè)).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)-二叉排序樹(shù)應(yīng)用實(shí)驗(yàn)報(bào)告(共15頁(yè)).doc(15頁(yè)珍藏版)》請(qǐng)?jiān)趨R文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí) 驗(yàn) 報(bào) 告 實(shí)驗(yàn)課程:數(shù) 據(jù) 結(jié) 構(gòu) 實(shí)驗(yàn)項(xiàng)目:實(shí)驗(yàn)四二叉排序樹(shù)應(yīng)用 專(zhuān) 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 目 錄1、 問(wèn)題定義及需求分析 (1)問(wèn)題描述 (2)實(shí)驗(yàn)任務(wù) (3)需求分析二、概要設(shè)計(jì): (1)抽象數(shù)據(jù)類(lèi)型定義 (2)主程序流程 (3) 模塊關(guān)系3、 詳細(xì)設(shè)計(jì) (1)數(shù)據(jù)類(lèi)型及存儲(chǔ)結(jié)構(gòu) (2)模塊設(shè)計(jì)4、 調(diào)試分析 (1)調(diào)試分析 (2)算法時(shí)空分析 (3)經(jīng)驗(yàn)體會(huì)5、 使用說(shuō)明 (1)程序使用說(shuō)明6、 測(cè)試結(jié)果 (1)運(yùn)行測(cè)試結(jié)果截圖7、 附錄 (1)源代碼1、 問(wèn)題定義及需求分析(1)實(shí)驗(yàn)?zāi)康?二叉排序樹(shù)應(yīng)用 問(wèn)題描
2、述 互聯(lián)網(wǎng)域名系統(tǒng)是一個(gè)典型的樹(shù)形層次結(jié)構(gòu)。從根節(jié)點(diǎn)往下的第一層是頂層域,如cn、com等,最底層(第四層)是葉子結(jié)點(diǎn),如www等。因此,域名搜索可以構(gòu)造樹(shù)的結(jié)構(gòu)完成;(2)實(shí)驗(yàn)任務(wù) 設(shè)計(jì)基于二叉排序樹(shù)的搜索互聯(lián)網(wǎng)域名的程序。(3)需求分析: 1)采用二叉樹(shù)的二叉鏈表存儲(chǔ)結(jié)構(gòu)。 2)完成二叉排序樹(shù)的創(chuàng)建、插入、刪除、查詢(xún)操作。 3)可以考慮兩棵二叉排序樹(shù)的合并。2、 概要設(shè)計(jì):(1)抽象數(shù)據(jù)類(lèi)型定義: 程序中定義了二叉排序樹(shù)的節(jié)點(diǎn)類(lèi)型;由數(shù)據(jù)域和左右孩子指針構(gòu)成;指針類(lèi)型為該節(jié)點(diǎn)類(lèi)型,指向該類(lèi)型的節(jié)點(diǎn)形成二叉排序樹(shù);數(shù)據(jù)域是由字符數(shù)組構(gòu)成,用于存儲(chǔ)節(jié)點(diǎn)數(shù)據(jù)信息。(2) 主程序流程: 輸入域名
3、拆分域名并完成二叉排序樹(shù)的創(chuàng)建 調(diào)用功能函數(shù)進(jìn)入功能菜單 選擇執(zhí)行不同的操作(查找、插入、刪除) 操作完畢后可選擇返回功能函數(shù)繼續(xù)執(zhí)行操作或者結(jié)束程序 (3) 模塊間的調(diào)用關(guān)系: 創(chuàng)建二叉排序樹(shù) 功能函數(shù) 查找 插入 刪除 選擇 結(jié)束 三、詳細(xì)設(shè)計(jì) 采用二叉鏈表存儲(chǔ)結(jié)構(gòu)的二叉排序樹(shù)的定義如下: typedef struct BiTNodeElemType data30; /定義數(shù)據(jù)域類(lèi)型為字符數(shù)組 struct BiTNode *lchild, *rchild; /定義左右孩子節(jié)點(diǎn)指針BiTNode, *BiTree;模塊1-查找樹(shù)中是否有待插入節(jié)點(diǎn)算法如下:int SearchBST(BiT
4、ree T, char *key, BiTree f, BiTree *p) if (!T) /* 查找不成功 */ *p = f; return 0; else if(strcmp(key,T->data)=0) /* 查找成功 */ *p = T; return 1; else if (strcmp(key,T->data)<0) return SearchBST(T->lchild, key, T, p); /* 若該節(jié)點(diǎn)小于當(dāng)前節(jié)點(diǎn),則在左子樹(shù)中繼續(xù)查找 */ else return SearchBST(T->rchild, key, T, p); /*
5、否則在右子樹(shù)中繼續(xù)查找 */模塊2-插入節(jié)點(diǎn)算法如下:int InsertBST(BiTree *T, char *key) BiTree p,s; if (!SearchBST(*T, key, NULL, &p) /* 查找不成功 */ s = (BiTNode*)malloc(sizeof(BiTNode);strcpy(s->data, key); s->lchild = s->rchild = NULL; if (!p) *T = s; /* 插入s為新的根結(jié)點(diǎn) */ else if (strcmp(key,p->data)<0) p->l
- 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í)驗(yàn) 二叉排序樹(shù) 應(yīng)用 報(bào)告 15
鏈接地址:http://zhizhaikeji.com/p-6516310.html