1. 程式人生 > 其它 >20202316 2021-2022-1 《資料結構與面向物件程式設計》實驗八報告

20202316 2021-2022-1 《資料結構與面向物件程式設計》實驗八報告

# 20202316 2021-2022-1 《資料結構與面向物件程式設計》實驗八報告

課程:《程式設計與資料結構》
班級: 2023
姓名: 饒坤
學號:20202316
實驗教師:王志強
實驗日期:2021年11月208日
必修/選修: 必修

## 1.實驗內容

  • 參考教材PP16.1,完成鏈樹LinkedBinaryTree的實現(getRight,contains,toString,preorder,postorder)
    用JUnit或自己編寫驅動類對自己實現的LinkedBinaryTree進行測試,提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
    課下把程式碼推送到程式碼託管平臺
  • 基於LinkedBinaryTree,實現基於(中序,先序)序列構造唯一一棵二㕚樹的功能,比如給出中序HDIBEMJNAFCKGL和後序ABDHIEJMNCFGKL,構造出附圖中的樹
    用JUnit或自己編寫驅動類對自己實現的功能進行測試,提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
    課下把程式碼推送到程式碼託管平臺
  • 自己設計並實現一顆決策樹
    提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
    課下把程式碼推送到程式碼託管平臺
  • 輸入中綴表示式,使用樹將中綴表示式轉換為字尾表示式,並輸出字尾表示式和計算結果(如果沒有用樹,正常評分。如果用到了樹,即使有小的問題,也酌情給滿分)
    提交測試程式碼執行截圖,要全屏,包含自己的學號資訊

## 2. 實驗過程及結果

(1)參考教材PP16.1,完成鏈樹LinkedBinaryTree的實現(getRight,contains,toString,preorder,postorder)

  • 用JUnit或自己編寫驅動類對自己實現的LinkedBinaryTree進行測試,提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
  • 課下把程式碼推送到程式碼託管平臺

方法補充

測試

(2)基於LinkedBinaryTree,實現基於(中序,先序)序列構造唯一一棵二㕚樹的功能,比如給出中序HDIBEMJNAFCKGL和後序ABDHIEJMNCFGKL,構造出附圖中的樹

  • 用JUnit或自己編寫驅動類對自己實現的功能進行測試,提交測試程式碼執行截圖,要全屏,包含自己的學號信
  • 課下把程式碼推送到程式碼託管平臺

(3)自己設計並實現一顆決策樹

  • 提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
  • 課下把程式碼推送到程式碼託管平臺

(4)輸入中綴表示式,使用樹將中綴表示式轉換為字尾表示式,並輸出字尾表示式和計算結果(如果沒有用樹,正常評分。如果用到了樹,即使有小的問題,也酌情給滿分)

  • 提交測試程式碼執行截圖,要全屏,包含自己的學號資訊

## 3. 實驗過程中遇到的問題和解決過程
- 問題1:寫決策樹的時候總是把樹的左右弄反
- 問題1解決方案:現列個樹表,再對照一一寫上去,註明左右孩子
- 問題2:將中綴轉換為字尾是,我將個別符號漏掉

- 問題2解決方案:我重新看了幾遍程式碼,最終發現是有一個符號沒寫程式碼進去

## 其他

感悟:樹,雖然老師上課講的十分的詳細,但是當我們開始寫的時候,還是會有一種力不從心的感覺,只能是現對照著課本進行模仿,然後在課本的基礎上,在慢慢弄增加我的程式碼,遇到一些不會的,就只能去問同學或者是上網搜,紙上學來終覺淺,還是得多多手敲程式碼,多多思考程式碼得構成,多學習相應得程式碼知識。

## 參考資料

- 《Java程式設計教程(第九版)》

- 《Java軟體結構與資料結構(第四版)》


- 網頁搜尋資料:https://blog.csdn.net/qq_26219679/article/details/79647221

-