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

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

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

課程:《程式設計與資料結構》
班級:2023
姓名: 呂炳翰
學號:20202319
實驗教師:王志強
實驗日期:2021年12月16日

必修/選修: 必修

一、實驗內容

(1) 初始化:根據螢幕提示(例如:輸入1為無向圖,輸入2為有向圖)初始化無向圖和有向圖(可用鄰接矩陣,也可用鄰接表),圖需要自己定義(頂點個數、邊個數,建議先在草稿紙上畫出圖,然後再輸入頂點和邊數)(2分)
(2) 圖的遍歷:完成有向圖和無向圖的遍歷(深度和廣度優先遍歷)(4分)
(3) 完成有向圖的拓撲排序,並輸出拓撲排序序列或者輸出該圖存在環(3分)
(4) 完成無向圖的最小生成樹(Prim演算法或Kruscal演算法均可),並輸出(3分)
(5) 完成有向圖的單源最短路徑求解(迪傑斯特拉演算法)(3分)

二、實驗過程及結果

(1) 初始化:根據螢幕提示(例如:輸入1為無向圖,輸入2為有向圖)初始化無向圖和有向圖(可用鄰接矩陣,也可用鄰接表),圖需要自己定義(頂點個數、邊個數,建議先在草稿紙上畫出圖,然後再輸入頂點和邊數)(2分)

碼雲地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/4c02ce00364f1575190ad9f8187d66b7474a88a5

執行截圖:

(2) 圖的遍歷:完成有向圖和無向圖的遍歷(深度和廣度優先遍歷)(4分)

碼雲地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/cf99f7e30567348b794f8431e2e280ac3680f972

執行截圖:

(3) 完成有向圖的拓撲排序,並輸出拓撲排序序列或者輸出該圖存在環(3分)

碼雲地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/10134db94c465ab928b071880e4f32c05d8b415e

執行截圖:

輸入有環的即會出錯:

(4) 完成無向圖的最小生成樹(Prim演算法或Kruscal演算法均可),並輸出(3分)

這裡用到了Prim演算法:

碼雲地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/d2974071a3c71d64fabb028b43a6941083f2913c

執行截圖:

(5) 完成有向圖的單源最短路徑求解(迪傑斯特拉演算法)(3分)

碼雲地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/d95e26bd132e0ac3c805f6929c709e750637e98b

執行截圖:

三. 實驗過程中遇到的問題和解決過程
- 問題:各種不能正常執行
- 問題解決方案:

不能正常執行那就是程式碼的問題,可以上百度去查詢,也可以上課本或者通過複習ppt來查詢原因,反正解決問題的方法很多,然後通過多次的除錯和修改,就能把程式的問題解決了。

## 其他(感悟、思考等)

最近沒啥事,總是沒有什麼時間去把課上教的程式碼去敲一遍,說白了就是懶的問題。原理都懂,但到了實際去程式設計的時候,非常的不熟練,還是要多多練習,積極主動寫程式碼!才能成為一名更加出色的程式設計師!



## 參考資料

- [《Java程式設計與資料結構教程(第二版)》](https://book.douban.com/subject/26851579/)

- [《Java程式設計與資料結構教程(第二版)》學習指導](http://www.cnblogs.com/rocedu/p/5182332.html)
- ...