數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-二叉樹(總29頁).doc
《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-二叉樹(總29頁).doc》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-二叉樹(總29頁).doc(29頁珍藏版)》請?jiān)趨R文網(wǎng)上搜索。
1、湖南涉外經(jīng)濟(jì)學(xué)院課程設(shè)計(jì)報(bào)告課程名稱: 數(shù)據(jù)結(jié)構(gòu) 報(bào)告題目: 二叉樹的基本操作 學(xué)生姓名: 肖琳桂、康政、張小東、張帆 所在學(xué)院: 信息科學(xué)與工程學(xué)院 專業(yè)班級: 軟工本1402 學(xué)生學(xué)號: 144300211、02、14、08 指導(dǎo)教師: 李春庭 2015 年 12 月 31 日課程設(shè)計(jì)任務(wù)書報(bào)告題目二叉樹的基本操作完成時(shí)間2周學(xué)生姓名肖琳桂 康政專業(yè)班級軟工本 1402指導(dǎo)教師李春庭職稱講師總體設(shè)計(jì)要求和主要功能設(shè)計(jì)一個(gè)程序,實(shí)現(xiàn)二叉樹的創(chuàng)建以及二叉樹的遍歷(包括先序遍歷、中序遍歷、后序遍歷和層次遍歷),計(jì)算并輸出二叉樹的深度和結(jié)點(diǎn)個(gè)數(shù),功能要求:1二叉樹以二叉鏈表存儲,結(jié)點(diǎn)數(shù)據(jù)類型采用字
2、符表示,按二叉樹的先序遍歷序列創(chuàng)建。2用文本編輯器編寫一個(gè)data.txt的文件,包含3個(gè)以上創(chuàng)建按二叉樹的先序遍歷序列(即序列中包含空樹節(jié)點(diǎn)),每個(gè)序列長度不少于10個(gè),在運(yùn)行程序時(shí)自動載入,也可以由鍵盤輸入創(chuàng)建二叉樹。|3菜單功能:創(chuàng)建二叉樹(二級菜單說明 選擇文件中的第幾個(gè),輸出創(chuàng)建二叉樹的深度及結(jié)點(diǎn)數(shù),若失敗則有相應(yīng)提示),遍歷序列(顯示先序,中序,后序和層次遍歷結(jié)果),結(jié)點(diǎn)的孩子信息,退出系統(tǒng)。工作內(nèi)容及時(shí)間進(jìn)度安排第17周:周1-周2 :立題、論證方案設(shè)計(jì)周3-周5 :程序設(shè)計(jì)及程序編碼第18周:周1-周3 :程序調(diào)試周4-周5 :驗(yàn)收答辯摘 要本課程設(shè)計(jì)主要說明如何在C+編程環(huán)境
3、下實(shí)現(xiàn)二叉樹的遍歷,遍歷方式包括:二叉樹的先序遍歷、中序遍歷、后序遍歷,層次遍歷等四種遍歷方式。同時(shí),此次課程設(shè)計(jì)還包括了求二叉樹深度和結(jié)點(diǎn)個(gè)數(shù),結(jié)點(diǎn)的孩子信息,以及對文件的操作,用文件讀取的方式實(shí)現(xiàn)對二叉樹的建立。以通過此次課程設(shè)計(jì),使學(xué)生充分掌握樹的基本操作,以及對線性存儲結(jié)構(gòu)的理解。同時(shí),在對樹的遍歷的操作過程中,同樣是運(yùn)用遞歸的方式實(shí)現(xiàn)遍歷,在對樹實(shí)現(xiàn)層次操作的時(shí)候,要求用循環(huán)隊(duì)列的操作方式來實(shí)現(xiàn)層次遍歷。此次課程設(shè)計(jì)對數(shù)據(jù)結(jié)構(gòu)內(nèi)容綜合性的運(yùn)用的要求較高。關(guān)鍵詞:二叉樹,先序遍歷,中序遍歷,后序遍歷,層次遍歷,節(jié)點(diǎn),線性存儲, 節(jié)點(diǎn)的孩子信息目 錄課程設(shè)計(jì)任務(wù)書1一、需求分析41問題描
4、述42功能要求4二、概要設(shè)計(jì)51.總體設(shè)計(jì)圖52.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)53.算法設(shè)計(jì)54.主要模塊及模塊之間的關(guān)系5三、詳細(xì)設(shè)計(jì)61.結(jié)構(gòu)體(或類)設(shè)計(jì)62. 主要模塊實(shí)現(xiàn)的流程圖63.算法設(shè)計(jì)7四、測試運(yùn)行81登錄和主界面運(yùn)行效果圖82運(yùn)行說明83. 運(yùn)行效果圖8五、結(jié)論與心得101.總體評價(jià)102.所做的工作及體會10六、程序附錄(源代碼)12七、參考文獻(xiàn)18一、需求分析1問題描述設(shè)計(jì)一個(gè)二叉樹。二叉樹形象地說即樹中每個(gè)節(jié)點(diǎn)最多只有兩個(gè)分支,它是一種重要的數(shù)據(jù)類型。可以運(yùn)用于建立家譜,公司所有的員工的職位圖,以及各種事物的分類和各種機(jī)構(gòu)的職位圖表等。二叉樹是通過建立一個(gè)鏈?zhǔn)酱鎯Y(jié)構(gòu),達(dá)到能夠?qū)崿F(xiàn)前
5、序遍歷,中序遍歷,后序遍歷,層次遍歷。以及能夠從輸入的數(shù)據(jù)中得知二叉樹的葉子結(jié)點(diǎn)的個(gè)數(shù),二叉樹的深度。在此,二叉樹的每一個(gè)結(jié)點(diǎn)中必須包括:值域,左指針域,右指針域。我們抽象出下列問題:實(shí)現(xiàn)文件操作,運(yùn)用文件輸入流,將已經(jīng)寫好二叉樹序列的txt文本文件,加載到程序中,實(shí)現(xiàn)文件創(chuàng)建二叉樹。然后采用鏈表存儲的方式遍歷二叉樹(先序遍歷、中序遍歷、后序遍歷、層次遍歷)。層次遍歷運(yùn)用循環(huán)隊(duì)列的方法實(shí)現(xiàn),需要重新定義隊(duì)頭和隊(duì)尾,以及隊(duì)列的最大長度,并且在屏幕上實(shí)現(xiàn)輸出顯示。2功能要求(1)用菜單的形式實(shí)現(xiàn)操作界面,提供(14)個(gè)功能選項(xiàng),功能分別為創(chuàng)建二叉樹、遍歷序列、節(jié)點(diǎn)的孩子信息、退出系統(tǒng)。(2)創(chuàng)建二
6、叉樹。要求用文件讀取和鍵盤輸入兩種不同的方式實(shí)現(xiàn)二叉樹的創(chuàng)建。二級菜單說明,輸出創(chuàng)建二叉樹的深度及結(jié)點(diǎn)數(shù),若失敗則有相應(yīng)提示。(3)遍歷序列。顯示先序,中序,后序和層次遍歷結(jié)果。先序遍歷、中序遍歷、后序遍歷用遞歸的方法實(shí)現(xiàn)遍歷。層次遍歷,用循環(huán)隊(duì)列的方法實(shí)現(xiàn)。(4)每次實(shí)現(xiàn)一項(xiàng)操作之后,要有相應(yīng)的提示返回菜單。二、概要設(shè)計(jì)1.總體設(shè)計(jì)圖主菜單遍歷序列創(chuàng)建二叉樹節(jié)點(diǎn)的孩子信息退出系統(tǒng)鍵盤輸入文件輸入中序遍歷后序遍歷層次遍歷先序遍歷2.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)元素為字符,邏輯結(jié)構(gòu)為樹形結(jié)構(gòu),存儲結(jié)構(gòu)為二叉鏈?zhǔn)酱鎯?,系統(tǒng)操作的數(shù)據(jù)元素主要是創(chuàng)建一個(gè)二叉樹,遍歷序列。3.算法設(shè)計(jì)本系統(tǒng)主要用到的算法有先序遍
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì) 報(bào)告 二叉 29
鏈接地址:http://zhizhaikeji.com/p-3464654.html