数据结构(c语版)黄国瑜叶乃菁课件ch12.pptVIP

数据结构(c语版)黄国瑜叶乃菁课件ch12.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构(c语版)黄国瑜叶乃菁课件ch12

黃國瑜、葉乃菁著 資料結構 資料結構 第十二章 圖形結構 本章綱要 12-1 何謂圖形結構 12-2 圖形的表示法 12-2-1 鄰接陣列表示法 12-2-2 鄰接串列表示法 12-2-3 多重鄰接串列表示法 12-2-4 加權邊的圖形 本章綱要 12-3 圖形的搜尋 12-3-1 深度優先法 12-3-2 廣度優先法 12-3-3 連通元件 本章綱要 12-4 生成樹問題 12-4-1 生成樹 12-4-2 最小生成樹 12-4-3 Kruskal演算法 12-4-4 Prims演算法 12-5 最短路徑問題 12-1 何謂圖形結構 尤拉七橋問題 每個頂點皆是奇數邊?無解 圖形結構 頂點 邊 12-1 何謂圖形結構 無向圖形 圖形中任一頂點上的邊都是沒有方向性。 表示法 V(G) = (1,2,3,4) E(G) = { (1,2),(1,3),(2,3),(2,4),(3,4)} 12-1 何謂圖形結構 有向圖形 圖形中任一頂點上的邊都是有方向性。 表示法 V(G) = (1,2,3,4) E(G) = { 1,2,1,3,1,4,2,4,3,4} 12-1 何謂圖形結構 完全圖形 在無向圖形中任兩頂點上都存在一個邊。 12-1 何謂圖形結構 子圖形 由圖形中取出的部分集合 圖形G 圖形G的子圖形 12-1 何謂圖形結構 路徑 在圖形中從頂點A到達頂點B,所經過上的所有的邊。 V1,V2,V2,V3,V3,V5路徑為3 12-1 何謂圖形結構 簡單路徑 在圖形中,除了起點和終點可以重覆外,其餘的頂點皆不相同的路徑。 V1,V2,V2,V3,V3,V5是簡單路徑 V1,V2,V2,V4,V4,V1,V1,V2,V2,V3,V3,V5不是簡單路徑 12-1 何謂圖形結構 迴路 在圖形中,起點和終點相同的簡單路徑。 V1,V2,V2,V4,V4,V1 V1,V2,V2,V3,V3,V4,V4,V1 12-1 何謂圖形結構 連通頂點 在無向圖形中,頂點A到頂點B間存在一條路徑,則稱頂點A和頂點B為連通頂點。 連通圖形 在無向圖形中,任意兩個頂點間皆連通,則稱為連通圖形。即任意兩個頂點皆存在有一條路徑可到達。 12-1 何謂圖形結構 連通單元 將無向圖形,分為多個分離的子圖形之後,原圖形的連通頂點仍在同一個子圖中。 強連通頂點 有向圖形中,頂點A到頂點B間存在一條路徑,而頂點B到頂點A間也存在一條路徑。 12-1 何謂圖形結構 強連通圖形 在有向圖形中,任意兩個頂點間皆存在一條路徑可到對方。 強連通單元 將有向圖形,分為多個分離的子圖形之後,原圖形的連通頂點仍在同一個子圖中。 12-2 圖形的表示法 圖形的表示法 鄰接陣列表示法 12-2 圖形的表示法 圖形的表示法 鄰接串列表示法 以鏈結串列來記錄各頂點的鄰接頂點。 其節點結構如下: 12-2 圖形的表示法 圖形的表示法 鄰接串列循序表示法 將鄰接串列中的內容儲存一維陣列中 一個有n個頂點和e個邊的無向圖,需要一個大小為n+2e+1的一維陣列,前n+1個陣列元素儲存串列的開頭位置。 12-2 圖形的表示法 圖形的表示法 多重鄰接串列表示法 節點結構如下: 12-2 圖形的表示法 加權邊的圖形 12-3 圖形的搜尋 深度優先法 非唯一解 運用堆疊 以頂點v做為起始點開始搜尋 從頂點v的鄰接串列中選未搜尋過的頂點w 由頂點w繼續進行深度優先法的搜尋 每搜尋一個頂點,便把該頂點存放在堆疊 直到搜尋到已經沒有任何鄰接列未走訪的頂點u 此時回到取出堆疊中的頂點,搜尋未走訪頂點 直到所有的頂點皆搜尋過為止 12-3 圖形的搜尋 廣度優先法 非唯一解 運用佇列 以頂點v做為起始點開始搜尋 從頂點v的鄰接串列中選未搜尋過的頂點w 將頂點v的所有鄰接頂點搜尋過後 再對頂點w的所有鄰接頂點進行搜尋 再繼續搜尋頂點v的下一鄰接頂點的所有鄰接頂點 重覆進行廣度優先搜尋 直到所有的鄰接頂點皆搜尋過為止 12-3 圖形的搜尋 連通元件 建立圖形 從第一個頂點做 深度優先搜尋或廣度優先搜尋 判斷是不是所有的頂點都搜尋過 所有頂點都搜尋過,表示這個圖形是連通圖形 否則表示這個圖形不是連通圖形 12-4 生成樹問題 生成樹 有N-1個邊將N個頂點給相連成的連通圖形 深度優先搜尋 深度優先搜尋的生成樹(DFS Spanning Tree) 廣度優先搜尋 廣度優先搜尋的生成樹(BFS Spanning Tree)。 12-4 生成樹問題 最小生成樹 Kruskal演算法 根據邊的加權值以遞增的方式 依次找出加權值最低的邊來建最小生成樹 每次新增的邊,不能造成生成樹有迴路 直到找到N-1個邊為止 12-4 生成樹問題 12-4 生成樹問題 首先,先將圖形中的所有的邊遞

文档评论(0)

jixujianchi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档