博客做業06--圖

1.學習總結(2分)

1.1圖的思惟導圖

1.2 圖結構學習體會

深度遍歷算法:

是從圖中的某個初始點v出發,首先訪問初始點v,而後選擇一個與定點v相鄰且沒有被訪問過的定點w,再以w爲初始頂點,重複深度優先遍歷
遞歸調用總次數爲n
用鄰接表表示圖時DFS算法時間複雜度爲o(n+e)
用鄰接矩陣表示圖時DFS算法時間複雜度爲o(n^2)

廣度遍歷算法:

廣度優先遍歷的過程是首先訪問初始點v,而後訪問v的全部違背訪問過的鄰接點v1v2v3v4……,而後再按照v1v2v3v4……的次序訪問每個頂點的全部未被訪問過的鄰接點,以此類推,直到圖中全部的和初始點v有路徑相通的頂點都被訪問過爲止
用鄰接表表示圖時BFS算法時間複雜度爲o(n+e)
用鄰接矩陣表示圖時BFS算法時間複雜度爲o(n^2)
以鄰接表爲存儲結構,在用廣度優先遍歷圖時須要咦相似於二叉樹的層次遍歷方式用環形隊列遍歷圖

Prim算法:

採用鄰接矩陣存儲
取頂點設其它邊爲侯選邊
從侯選邊中挑選權值最小的加入生成樹
重複上述步驟並按權值不斷修改
時間複雜度o(n^2)

Kruscal算法:

按權值遞增次序選擇合適的邊來構造最小生成樹
將圖中的邊按權值從小到大的次序依次選取,若選取的邊未使生成樹造成迴路則加入生成樹,不然捨棄,直到生成樹中包含(n-1)條邊爲止
適合稀疏圖

Dijkstra算法:

時間複雜度o(n^2)

求出最短路徑的頂點集合,用S表示

第二組爲其他未肯定最短路徑的頂點集合,用U表示

源點v到S中各頂點的最短路徑長度不大於從源點v到U中任何頂點的最短路長度

拓撲排序算法:

採用鄰接表做爲存儲結構
可用於檢測圖中是否有迴路
在一個有向圖中找一個拓撲序列的過程稱爲拓撲排序:
1.從有向圖中選擇一個沒有前驅的頂點並輸出它
2.從圖中刪去該頂點,而且刪去從該頂點出發的所有有向邊
3.重複上述兩步,直到剩餘的圖中再也不存在沒有前驅的頂點爲止

2.PTA實驗做業(4分)

題目1:圖着色問題

設計思路(僞代碼或流程圖)

代碼截圖(注意,截圖、截圖、截圖。代碼不要粘貼博客上。不用用···語法去渲染)


2.4 PTA提交列表說明。

題目2:排座位

設計思路(僞代碼或流程圖)

代碼截圖(注意,截圖、截圖、截圖。代碼不要粘貼博客上。不用用···語法去渲染)

2.4 PTA提交列表說明。


題目3:六度空間

設計思路(僞代碼或流程圖)

代碼截圖(注意,截圖、截圖、截圖。代碼不要粘貼博客上。不用用···語法去渲染)


2.4 PTA提交列表說明。

百分號輸出錯誤,visit數組忘記初始化,後查詢改正

3.截圖本週題目集的PTA最後排名(3分)

3.1 PTA排名(截圖帶本身名字的排名)

3.2 個人總分:2分

4. 閱讀代碼(必作,1分)


六度空間問題代碼

隊不爲空 取隊首 v
 for i=1 to n 
if  邊連通且頂點 i 爲訪問過
頂點 i 入隊, vis[i]=1, 數值++
 if  v 爲該層最後一個結點
將下一層的最後一個結點置爲新的層末頂點, degree加一

更加簡便

相關文章
相關標籤/搜索