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
-