1. 程式人生 > >20172311 2018-2019-1《程式設計與資料結構》實驗二報告

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.執行截圖:

實驗最終程式碼連結:

ReConstructBinaryTree

本實驗收穫:

想起我們課堂上親手做這個題的速度,嗯!和計算機的差距還是蠻大的!


實驗二 樹-3-決策樹

結果提交截圖:

1.寫入檔案:

2.測試類程式碼及執行結果:

實驗最終程式碼連結:

input
BackPainAnalyzer
DecisionTree

本實驗收穫:

利用樹建立了自己的一個決策樹,還是比較開心的。


實驗二 樹-4-表示式樹

結果提交截圖:

1.測試類程式碼:

2.用樹將中綴表示式轉換為字尾表示式程式碼:

3.測試結果程式碼:

實驗最終程式碼連結:

PostfixTester
PostfixEvaluator

本實驗收穫

實現了使用樹將中綴表示式轉為字尾表示式的方法,雖然不包含有括號的情況,但還是挺開心的!


實驗二 樹-5-二叉查詢樹

結果提交截圖:
實驗最終程式碼連結:
本實驗收穫:

實驗二 樹-6-紅黑樹分析

結果提交截圖:
實驗最終程式碼連結:
本實驗收穫:

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

  • 問題1:
  • 問題1解決方案:

  • 問題2:
  • 問題2解決方案:


4.感想

5.參考資料