20172311 2018-2019-1《程式設計與資料結構》實驗二報告
20172311 2018-2019-1《程式設計與資料結構》實驗二報告
課程:《程式設計與資料結構》
班級: 1723
姓名: 趙曉海
學號:20172311
實驗教師:王志強
實驗日期:2018年11月2日
必修/選修: 必修
1.實驗內容
實驗二-1-實現二叉樹
參考教材p212,完成鏈樹LinkedBinaryTree的實現(getRight,contains,toString,preorder,postorder)
用JUnit或自己編寫驅動類對自己實現的LinkedBinaryTree進行測試,提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
課下把程式碼推送到程式碼託管平臺
實驗二 樹-2-中序先序序列構造二叉樹
基於LinkedBinaryTree,實現基於(中序,先序)序列構造唯一一棵二㕚樹的功能,比如給出中序HDIBEMJNAFCKGL和後序ABDHIEJMNCFGKL,構造出附圖中的樹
用JUnit或自己編寫驅動類對自己實現的功能進行測試,提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
課下把程式碼推送到程式碼託管平臺
實驗二 樹-3-決策樹
自己設計並實現一顆決策樹
提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
課下把程式碼推送到程式碼託管平臺
實驗二 樹-4-表示式樹
輸入中綴表示式,使用樹將中綴表示式轉換為字尾表示式,並輸出字尾表示式和計算結果(如果沒有用樹,則為0分)
提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
課下把程式碼推送到程式碼託管平臺
實驗二 樹-5-二叉查詢樹
完成PP11.3
提交測試程式碼執行截圖,要全屏,包含自己的學號資訊
課下把程式碼推送到程式碼託管平臺
實驗二 樹-6-紅黑樹分析
參考http://www.cnblogs.com/rocedu/p/7483915.html對Java中的紅黑樹(TreeMap,HashMap)進行原始碼分析,並在實驗報告中體現分析結果。
(C:\Program Files\Java\jdk-11.0.1\lib\src\java.base\java\util)
2.實驗過程及結果
實驗二-1-實現二叉樹
結果提交截圖:
1.測試類程式碼:
2.執行結果:
實驗最終程式碼連結:
LinkedBinaryTree
LinkedBinaryTreeTest
本實驗收穫:
對鏈式二叉樹的實現及應用有了較為深入的認識。
實驗二 樹-2-中序先序序列構造二叉樹
結果提交截圖:
1.測試類程式碼:
2.核心方法程式碼:
3.執行截圖:
實驗最終程式碼連結:
本實驗收穫:
想起我們課堂上親手做這個題的速度,嗯!和計算機的差距還是蠻大的!
實驗二 樹-3-決策樹
結果提交截圖:
1.寫入檔案:
2.測試類程式碼及執行結果:
實驗最終程式碼連結:
input
BackPainAnalyzer
DecisionTree
本實驗收穫:
利用樹建立了自己的一個決策樹,還是比較開心的。
實驗二 樹-4-表示式樹
結果提交截圖:
1.測試類程式碼:
2.用樹將中綴表示式轉換為字尾表示式程式碼:
3.測試結果程式碼:
實驗最終程式碼連結:
PostfixTester
PostfixEvaluator
本實驗收穫
實現了使用樹將中綴表示式轉為字尾表示式的方法,雖然不包含有括號的情況,但還是挺開心的!
實驗二 樹-5-二叉查詢樹
結果提交截圖:
實驗最終程式碼連結:
本實驗收穫:
實驗二 樹-6-紅黑樹分析
結果提交截圖:
實驗最終程式碼連結:
本實驗收穫:
3.實驗過程中遇到的問題和解決過程
- 問題1:
問題1解決方案:
- 問題2:
問題2解決方案: