DS博客作業04--圖


這個作業屬於哪個班級 數據結構--網絡2011/2012
這個作業的地址 DS博客作業04--圖
這個作業的目標 學習圖結構設計及相關算法
姓名

0.PTA得分截圖

題目集總得分,請截圖,截圖中必須有自己名字。題目至少完成2/3,否則本次作業最高分5分。

1.本周學習總結(6分)

本次所有總結內容,請務必自己造一個圖(不在教材或PPT出現的圖),圍繞這個圖展開分析。建議:Python畫圖展示。圖的結構盡量復雜,以便后續可以做最短路徑、最小生成樹的分析。

1.1 圖的存儲結構

1.1.1 鄰接矩陣(不用PPT上的圖)

  • 造一個圖,展示其對應鄰接矩陣
  • 鄰接矩陣的結構體定義
  • 建圖函數

1.1.2 鄰接表

  • 造一個圖,展示其對應鄰接表(不用PPT上的圖)
  • 鄰接矩陣的結構體定義
  • 建圖函數

1.1.3 鄰接矩陣和鄰接表表示圖的區別

各個結構適用什么圖?時間復雜度的區別。

1.2 圖遍歷

1.2.1 深度優先遍歷

  • 選上述的圖,繼續介紹深度優先遍歷結果
  • 深度遍歷代碼
  • 深度遍歷適用哪些問題的求解。(可百度搜索)

1.2.2 廣度優先遍歷

  • 選上述的圖,繼續介紹廣度優先遍歷結果
  • 廣度遍歷代碼
  • 廣度遍歷適用哪些問題的求解。(可百度搜索)

1.3 最小生成樹

用自己語言描述什么是最小生成樹。

1.3.1 Prim算法求最小生成樹

  • 基於上述圖結構求Prim算法生成的最小生成樹的邊序列
  • 實現Prim算法的2個輔助數組是什么?其作用是什么?Prim算法代碼。
  • 分析Prim算法時間復雜度,適用什么圖結構,為什么?

1.3.2 Kruskal算法求解最小生成樹

  • 基於上述圖結構求Kruskal算法生成的最小生成樹的邊序列
  • 實現Kruskal算法的輔助數據結構是什么?其作用是什么?Kruskal算法代碼。
  • 分析Kruskal算法時間復雜度,適用什么圖結構,為什么?

1.4 最短路徑

1.4.1 Dijkstra算法求解最短路徑

  • 基於上述圖結構,求解某個頂點到其他頂點最短路徑。(結合dist數組、path數組求解)
  • Dijkstra算法需要哪些輔助數據結構
  • Dijkstra算法如何解決貪心算法無法求最優解問題?展示算法中解決的代碼。
  • Dijkstra算法的時間復雜度,使用什么圖結構,為什么。

1.4.2 Floyd算法求解最短路徑

  • Floyd算法解決什么問題?
  • Floyd算法需要哪些輔助數據結構
  • Floyd算法優勢,舉例說明。

最短路徑算法還有其他算法,可以自行百度搜索,並和教材算法比較。

1.5 拓撲排序

  • 找一個有向圖,並求其對要的拓撲排序序列
  • 實現拓撲排序代碼,結構體如何設計?
  • 書寫拓撲排序偽代碼,介紹拓撲排序如何刪除入度為0的結點?
  • 如何用拓撲排序代碼檢查一個有向圖是否有環路?

1.6 關鍵路徑

  • 什么叫AOE-網?
  • 什么是關鍵路徑概念?
  • 什么是關鍵活動?

2.PTA實驗作業(4分)

2.1 六度空間(2分)

選一題,介紹偽代碼,不要貼代碼。請結合圖形展開分析思路。

2.1.1 偽代碼(貼代碼,本題0分)

偽代碼為思路總結,不是簡單翻譯代碼。

2.1.2 提交列表

2.1.3 本題知識點

2.2 村村通或通信網絡設計或旅游規划(2分)

2.2.1 偽代碼(貼代碼,本題0分)

偽代碼為思路總結,不是簡單翻譯代碼。

2.2.2 提交列表

2.2.3 本題知識點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM