雙向循環(huán)鏈表操作二叉樹(shù)和樹(shù)操作圖的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn)11_第1頁(yè)
雙向循環(huán)鏈表操作二叉樹(shù)和樹(shù)操作圖的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn)11_第2頁(yè)
雙向循環(huán)鏈表操作二叉樹(shù)和樹(shù)操作圖的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn)11_第3頁(yè)
雙向循環(huán)鏈表操作二叉樹(shù)和樹(shù)操作圖的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn)11_第4頁(yè)
雙向循環(huán)鏈表操作二叉樹(shù)和樹(shù)操作圖的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn)11_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)成果展示 網(wǎng)絡(luò)121 趙燕麗 20121113005題目一 雙向循環(huán)鏈表的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn) 題目功能:創(chuàng)建一個(gè)空表,對(duì)自己創(chuàng)建的表完成以下功能:1建立一個(gè)帶有頭尾結(jié)點(diǎn)的空表。2實(shí)現(xiàn)在任意指定位置插入結(jié)點(diǎn)。3實(shí)現(xiàn)刪除指定位置的結(jié)點(diǎn)。4實(shí)現(xiàn)在第一個(gè)位置插入結(jié)點(diǎn)。5實(shí)現(xiàn)在最后一個(gè)位置插入一個(gè)結(jié)點(diǎn)。6 .實(shí)現(xiàn)就地逆置 7 .輸出循環(huán)鏈表題目一 雙向循環(huán)鏈表的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn) 題目方法:1)構(gòu)造方法,建立空表: doublecircularlinkedlist() 2)獲得第idx個(gè)結(jié)點(diǎn)的方法: getnode(int idx)3)在第idx個(gè)位置上插入一個(gè)結(jié)點(diǎn)的方法: add

2、(int idx, anytype x) 4)刪除第idx個(gè)結(jié)點(diǎn): remove(int idx) 5)就地逆置方法: inverseset() 6)輸出鏈表方法: printlist() 題目一 雙向循環(huán)鏈表的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn) 模塊劃分:主函數(shù) add()inverseset()remove()printlist()getnode()size()getnode() size()getnode()題目一 雙向循環(huán)鏈表的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn) 總體思路: 1.建立帶有頭尾結(jié)點(diǎn)的空鏈表 2.輸入鏈表結(jié)點(diǎn)個(gè)數(shù)及結(jié)點(diǎn)數(shù)值創(chuàng)建鏈表 3.調(diào)用插入結(jié)點(diǎn)方法,輸入插入結(jié)點(diǎn)位置及結(jié)點(diǎn)數(shù)值 4.調(diào)用刪除結(jié)點(diǎn)方法

3、刪除某個(gè)位置上的結(jié)點(diǎn) 5.就地逆置方法通過(guò)改變指針指向逆向輸出鏈表題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 題目功能: 1.實(shí)現(xiàn)分別使用雙親表示法、孩子鏈表、孩子-兄弟三種存儲(chǔ)結(jié)構(gòu)表示法建立樹(shù) 2.實(shí)現(xiàn)用任一種遍歷方法檢驗(yàn)所建樹(shù)的正確性 3.實(shí)現(xiàn)使用雙親表示法作為存儲(chǔ)結(jié)構(gòu),統(tǒng)計(jì)樹(shù)的深度題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 題目方法: 雙親類(lèi) 1.實(shí)現(xiàn)雙親表示法建樹(shù) createptree() 2.計(jì)算雙親表示法存儲(chǔ)樹(shù)的深度 countdepth(ptnode no) 3.實(shí)現(xiàn)樹(shù)的先序遍歷 preorder(ptree tree, int num) 題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 題目方法: 孩子-兄弟類(lèi) 1.以孩子

4、兄弟表示法作為存儲(chǔ)結(jié)構(gòu)建樹(shù) createtree() 2.實(shí)現(xiàn)樹(shù)的先序遍歷 preorder(btnode node) 題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 題目方法: 孩子鏈表類(lèi) 1.向雙親結(jié)點(diǎn)數(shù)組中添加頂點(diǎn) addnode(int a, anytype d) 2.添加所建樹(shù)的邊 void addarc(int start, int end) 3.將某條鏈的孩子入隊(duì)列 void enqueue(int a) 4.實(shí)現(xiàn)樹(shù)的層次遍歷 void levelorder(int a) 題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 模塊劃分: 雙親類(lèi)主方法createptree()countdepth(ptnode no)pr

5、eorder(ptree tree, int num)題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 模塊劃分: 孩子-兄弟類(lèi)主方法createtree()preorder(btnode node)題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 模塊劃分: 孩子鏈表類(lèi) 主方法addnode(int a, anytype d)levelorder(int a)addarc(int start, int end)enqueue(int a)題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 總體思路: 雙親類(lèi) 1.鍵盤(pán)輸入所建樹(shù)的根節(jié)點(diǎn)位置、結(jié)點(diǎn)個(gè)數(shù)、結(jié)點(diǎn)數(shù)據(jù)和結(jié)點(diǎn)的父節(jié)點(diǎn)域,調(diào)用建樹(shù)方法建樹(shù) 2.前序遍歷:訪(fǎng)問(wèn)根結(jié)點(diǎn)、 按先序遍歷左子樹(shù)、 按先序遍歷右

6、子樹(shù) 3.求樹(shù)的深度:父節(jié)點(diǎn)的指針域的個(gè)數(shù)就是樹(shù)的個(gè)數(shù),統(tǒng)計(jì)出父節(jié)點(diǎn)的指針域的個(gè)數(shù)作為樹(shù)的深度題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 總體思路: 孩子-兄弟類(lèi): 1.鍵盤(pán)輸入樹(shù)的結(jié)點(diǎn)個(gè)數(shù)、樹(shù)的所有節(jié)點(diǎn),調(diào)用建樹(shù)方法建樹(shù) 2.前序遍歷:訪(fǎng)問(wèn)根結(jié)點(diǎn)、 按先序遍歷左子樹(shù)、 按先序遍歷右子樹(shù)題目二 二叉樹(shù)和數(shù)操作的實(shí)現(xiàn) 總體思路: 孩子鏈表類(lèi) 1.鍵盤(pán)輸入樹(shù)的結(jié)點(diǎn)個(gè)數(shù)、結(jié)點(diǎn)數(shù)值、樹(shù)的邊數(shù)、邊的信息,調(diào)用建樹(shù)方法建樹(shù) 2.層次遍歷:通過(guò)利用隊(duì)列思想看訪(fǎng)問(wèn)的節(jié)點(diǎn)不是空時(shí)進(jìn)隊(duì)列,然后訪(fǎng)問(wèn)下一個(gè)節(jié)點(diǎn),頭一個(gè)節(jié)點(diǎn)出隊(duì)列。題目三 圖的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn) 題目功能: 1.用鄰接表存儲(chǔ)結(jié)構(gòu)創(chuàng)建有向圖 2.實(shí)現(xiàn)圖的鄰接表和鄰接

7、矩陣兩種存儲(chǔ)方式的轉(zhuǎn)化 3.實(shí)現(xiàn)增加頂點(diǎn)和刪除頂點(diǎn)的功能,刪除頂點(diǎn)也要?jiǎng)h除與之關(guān)聯(lián)的邊 4.實(shí)現(xiàn)增加邊和刪除邊的功能題目三 圖的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn) 題目方法:1.創(chuàng)建有向圖:createdg(listv,lista,list b,list x)2.存儲(chǔ)結(jié)構(gòu)的轉(zhuǎn)換-鄰接表轉(zhuǎn)換為鄰接矩陣:getadjacencymatrix()3.打印鄰接矩陣:printadjacencymatrix()4.插入結(jié)點(diǎn):insertvertex(anytype data)5.刪除結(jié)點(diǎn):delete(anytype a)6.刪除邊removeedege(int i,int a)7.增加邊addedege(int ss,int ee,int num)題目三 圖的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn) 模塊劃分:主函數(shù)creategraph()getadjacencymatrix()printadjacencymatrix()insertvertex(anytype data)delete(anytype a)delete(anytype a)addedege(int ss,int ee,int num)createdg()createudg()createdn()createudn()題目三 圖的創(chuàng)建及相關(guān)操作的實(shí)現(xiàn)總體思路:1.鍵盤(pán)輸入圖的結(jié)點(diǎn)個(gè)數(shù)和邊的條數(shù),

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論