【正文】
五、 測試數(shù)據(jù) 對每個函數(shù)的測試數(shù)據(jù) 利用線序遍歷和層次遍歷分別建樹 a b c d e f 對程序整體的測試數(shù)據(jù) a b c d e f 六、測試情況 先序建樹: {39。,39。,39。} 先序遍歷結(jié)果: a b d c e f 樹圖為 (橫向 ): f c e a b d 山東建筑大學(xué)計算機學(xué)院課程設(shè)計說明書 27 葉子節(jié)點數(shù): 3 交換后層次遍歷結(jié)果: a c b f e d 樹圖為 (橫向 ): d b a e c f 深度為: 3 山東建筑大學(xué)計算機學(xué)院課程設(shè)計說明書 28 結(jié) 論 在課程設(shè)計中,遇到最多的問題便是對一個方法思想的轉(zhuǎn)換。 這次課程設(shè)計明白的遠(yuǎn)遠(yuǎn)不止這些,對于子樹的交換,是我對于數(shù)據(jù)結(jié)構(gòu)的認(rèn)知茅塞頓開,發(fā)現(xiàn)原來自己以前真的一點都沒明白這門課程到底是干嘛的,如今才清晰地明白這門課程要的是對數(shù)據(jù)的結(jié)構(gòu)的思考。最終在同學(xué)的講解下,理解了建樹的方法。,null,39。} 層序遍歷結(jié)果: a b c d e f 樹圖為 (橫向 ): f c e a b d 層序建樹: {39。,39。 山東建筑大學(xué)計算機學(xué)院課程設(shè)計說明書 26 pln(樹圖為 (橫向 ): )。 pln(樹圖為 (橫向 ): )。e39。a39。 (charsPre)。d39。, 39。, 39。c39。 } public static void main(String[] args) { BinaryTreeCharacter bt = new BinaryTreeCharacter()。 showTree(,++n)。 } return t。 n = countLeafNode()。 return m + n + 1。 } private void preOrder(BiTNodeAnyType t) { if (t != null) { (+ )。 i++。 int i = 1。 = creatTree(a)。 } public BinaryTree(AnyType rootNodeItem) { = rootNodeItem。 return 0。 left = lt。 public class BiTNodeAnyType implements ComparableBiTNodeAnyType { AnyType data。 default: (你的輸入有誤,請重新輸入! )。 case 4: (請輸入插入最后位置的元素: )。 (idex1)。 switch(xuanze){ case 1: (請輸入要插入的位置下標(biāo)和數(shù)據(jù): )。 (l)。 Scanner sc=new Scanner()。i++) (getNode(i).data+ )。i++) p=。 =q。 while(p!=headNode){ l=。 }//插入方法 public AnyType remove(int idex ) { return remove(getNode(idex))。 } if (flag) { NodeAnyType p。 theSize=0。 next=null。 class NodeAnyType{ public AnyType data。 插入最后一個結(jié)點。 逆置 設(shè)計內(nèi)容與步驟 設(shè)計存儲結(jié)構(gòu) 設(shè)計算法 編寫程序,進(jìn)行調(diào)試 總結(jié)并 進(jìn)行演示、講解 設(shè)計工作計劃與進(jìn)度安排 做雙向鏈表創(chuàng)建方法 做雙向鏈表各種操作方法 設(shè)計考核要求 考勤 20% 課程設(shè)計說明書 50% 成果展示 30% 山東建筑大學(xué)計算機學(xué)院課程設(shè)計說明書 III 山東建筑大學(xué)計算機科學(xué)與技術(shù)學(xué)院 課程設(shè)計任務(wù)書 2 指導(dǎo)教師(簽字): 教研室主任(簽字)設(shè)計題目 樹的創(chuàng)建及相關(guān)操作的實現(xiàn) 已知技術(shù)參數(shù)和設(shè)計要求 利用先序遍歷和層次遍歷的結(jié)果建立二叉樹 實現(xiàn)二叉樹的層次遍歷 統(tǒng)計二叉樹葉子結(jié)點的個數(shù)(遞歸)。 public NodeAnyType prev。 } public Node(AnyType d,NodeAnyType p,NodeAnyType n){ data=d。 山東建筑大學(xué)計算機學(xué)院課程設(shè)計說明書 7 }//創(chuàng)建一個空表 public int size(){ return theSize。 p = getNode(idex)。 山東建筑大學(xué)計算機學(xué)院課程設(shè)計說明書 8 } private AnyType remove( NodeAnyType p ){ =。//空置的中轉(zhuǎn)結(jié)點賦值 =p。//當(dāng) p為頭結(jié)點時,直接將前后域置換。 } else{ p=headNode。 ()。 int xuanze。//鏈表元素輸入 } (您輸入的鏈表為: )。 int idex=()。 ()。 int data2=()。 break。 BiTNodeAnyType left, right。 right = rt。 } } ()構(gòu)造 package kcsj。 = = null。 = creatTree(a)。 while (i ) { if (a[i] != null) { node = new BiTNodeAnyType(a[i])。 } } // public void pathOrder() { if (rootNode != null) pathOrder(rootNode)。