20182305 2019-2020-1 《數據結構與面向對象程序設計》實驗八報告

20182305 2019-2020-1 《數據結構與面向對象程序設計》實驗八報告

課程:《程序設計與數據結構》
班級: 1823
姓名: 孫銘澤
學號:20182305 
實驗教師:王志強
實驗日期:2019年11月11日
必修/選修: 必修

1.實驗內容

  • 參考教材PP16.1,完成鏈樹LinkedBinaryTree的實現(getRight,contains,toString,preorder,postorder)
    用JUnit或本身編寫驅動類對本身實現的LinkedBinaryTree進行測試,提交測試代碼運行截圖,要全屏,包含本身的學號信息
    課下把代碼推送到代碼託管平臺數組

  • 基於LinkedBinaryTree,實現基於(中序,先序)序列構造惟一一棵二㕚樹的功能,好比給出中序HDIBEMJNAFCKGL和後序ABDHIEJMNCFGKL,構造出附圖中的樹
    用JUnit或本身編寫驅動類對本身實現的功能進行測試,提交測試代碼運行截圖,要全屏,包含本身的學號信息
    課下把代碼推送到代碼託管平臺數據結構

  • 本身設計並實現一顆決策樹
    提交測試代碼運行截圖,要全屏,包含本身的學號信息
    課下把代碼推送到代碼託管平臺post

  • 輸入中綴表達式,使用樹將中綴表達式轉換爲後綴表達式,並輸出後綴表達式和計算結果(若是沒有用樹,正常評分。若是用到了樹,即便有小的問題,也酌情給滿分)
    提交測試代碼運行截圖,要全屏,包含本身的學號信息測試

2. 實驗過程及結果

3. 實驗過程當中遇到的問題和解決過程

  • 問題1:在處理前綴和中綴表達式求樹的時候出現如下問題
    設計

  • 問題1解決方案:通過整理髮現,是我弄反了前綴和中綴表達式的位置,致使處理時本應該之前綴爲準,變成了以中綴爲準。遞歸計算時,左右子樹的設置出現錯誤,由於根節點左右兩側內容數量不同,致使設置的左右子樹內容數組長度不一樣。置入的時候天然會出現錯誤。
  • 問題2:子樹沒法經過鏈表方式與根節點相鏈接。
  • 問題2解決方案:將節點的定義方式更改,從下往上定義節點,在根節點處定義時直接將左右兩個子樹的根節點鏈接在根節點上。3d

相關文章
相關標籤/搜索