Ch07 圖形與網路 淡江大學 周清江 1 1 1.

Slides:



Advertisements
Similar presentations
南 通. 南通概述 南通,位于江苏省东部, 东抵黄海,南望长江。 “ 据江 海之会、扼南北之喉 ” ,隔江 与中国经济最发达的上海及 苏南地区相依,被誉为 “ 北上 海 ” 。 南通也是中国首批对 外开放的 14 个沿海城市之一 ,被称为 “ 中国近代第一城 ” 。 南通面临海外和内陆两大经 济辐射扇面,素有.
Advertisements

1 天天 5 蔬果 國立彰化特殊教育學校 延杰股份有限公司營養師:陳婷貽. 2 蔬果彩虹 579 蔬果彩虹 歲以內兒童,每天 攝取五份新鮮蔬菜水 果,其中應有三份蔬 菜兩份水果 蔬菜份數水果份數總份數 兒童 325 女性 437 男性 549.
猜谜语 有个小娃娃,真是没 礼貌。 见到小树摇一摇,吓 得树叶哇哇叫。 见到小花逗一逗,摘 去她的太阳帽。 没人和它交朋友,只 好自已到外处跑。
高等学校英语应用能力考试 考务培训 兰州文理学院教务处 2014 年 12 月. 考务培训 21 日请监考人员上午 8:00 (下午 2:30 )到综合楼 205 教室集合,查看 监考安排,由考务负责人进行考务 培训。
語言與文化通識報告 - 台日年菜差異 - 指導老師 : 葉蓁蓁 小組 : 日本微旅行 組員 :4a21b032 吳采玲 4a21b037 沈立揚 4a 洪雅芳 4a 陳楚貽 4a 王巧稜.
均衡推进,确保质量 08学年第一学期教学工作会议 广州市培正中学
黑木耳.
投資權證13問 交易所宣導資料(104) 1.以大盤指數為標的之權證,和大盤指數的連動性,為什麼比和期交所期指的連動性差?
如何把作文写具体.
第一章 人口与环境 第一节 人口增长模式.
第一节 人口与人种 第一课时.
黄帝内经 内经教研室 王黎.
解读我党发展史 思索安惠美好明天 主讲人:王辰武.
第四章 家庭財務報表及預算的編製與分析.
第5课 长江和黄河.
銓敘部研究規劃自願退休公務人員月退休金起支年齡延後方案座談會
瓦罐湯 “瓦缸煨汤”是流行于南方民间的一种风味菜肴。它采用一种制特的大瓦缸,其缸底可以烧火,缸内置有铁架,厨师将装有汤的小瓦罐一层层地码入缸内的铁架上,然后点燃木炭,借用木炭火产生的高温将瓦罐内的汤煨熟。
1.數學的難題 如下圖所示,你知道表格中的問號應填入什麼數字嗎?
第九章 欧氏空间 §1 定义与基本性质 §2 标准正交基 §3 同构 §4 正交变换 §5 子空间 §6 对称矩阵的标准形
职官与科举 职官:在国家机构中担任一定职务的官吏,这里面有职官的名称、职权范围和品级地位等方面的内容。
花开有日 芬芳天下 “国培计划(2012)” ——幼儿园骨干教师远程培训项目 山东幼儿园教师8班第4期简报 主办人:张瑞美     
《卖火柴的小女孩》 《海的女儿》 你 认 识 这 些 图 片 的 故 事 吗 《丑小鸭》 《拇指姑娘》 它们都来自于哪位作家笔下?
行政公文 纪 要 讲授人: 安学珍 铜仁职业技术学院.
第八章 連結分析 Link Analysis.
民主國家的政府體制 我國的中央政府體制 我國中央政府的功能 地方政府組織與功能
銷售與顧客關係管理 巫立宇.邱志聖 著.
20、豆花庄的小家伙们.
CH11 心理疾病 李志鴻.
Chapter 10 Graphs.
华 夏 之 祖 第 3 课.
法學緒論第六單元:法律適用 設計課程︰ 財經法律系 --楊東連 法學緒論-6.
昆明心桥心理健康研究所 心理健康工作者 钱锡安 讲座预约 个案咨询预约
Chapter 12 圖形結構 12.1 圖形的一些專有名詞 12.2 圖形資料結構表示法 12.3 圖形追蹤 12.4 擴展樹
CH1 . 集 合 与 命 题.
Chapter 07 Graph 第七章 图 Prof. Qing Wang.
Ch19 創業精神 管理學:整合觀點與創新思維3/e.中山大學企管系 著.前程文化 出版.
以考试说明带动二轮复习 福州第三中学 张璐.
第7章 图论基础与应用 PART A 《可视化计算》.
跨越海峡的生命桥.
Minimum Spanning Trees
Chap5 Graph.
7.5 擴張樹 (Spanning Tree) 一個無向相連圖 G 的子圖 G’ 如果可用最少的邊來連接G 的
Chap5 Graph.
第8章 圖形結構(Graphs) 8-1 圖形的基本觀念 8-2 圖形的表示法 8-3 圖形的走訪 8-4 擴張樹
Chapter 6 Graph Chang Chi-Chung
第八章 图 图的基本概念 图的存储结构 图的遍历与连通性 最小生成树 最短路径 活动网络.
圖論 (Graph Theory) B 電機四 大鳥 B 電機四 酋長 B 電機四 炫大
Graph 2 Michael Tsai 2012/5/1 連載: 學生上課睡覺姿勢大全
Chapter 7 圖形與網路 資料結構導論 - C語言實作.
Chapter12 Graphs Definitions Applications Properties
Yuzhong Qu Nanjing University
循环比赛的名次 6支球队比赛结果 n支球队循环赛,每场比赛只计胜负,没有平局。 根据比赛结果排出各队名次
第9章 基本图算法 本章内容将包含基本的图形表示法,以及先深搜寻,先广搜寻,拓朴排序,Strongly Connected Components。
数据结构概论 第7章 图 董黎刚 浙江工商大学信电学院 2019年4月8日.
海水运动→→洋流 你知道吗 在十年前,日本的科学家曾经做过一个有趣的实验:在日本以东的洋面拨撒了大量的带有颜色的物质。
圖論的介紹 第二組 徐榮德 鄭又齊 陳俊嘉.
第15讲 路与回路, 图的连通性 主要内容: 1.路与回路. 2.图的连通性..
Tournament (graph theory)
CH2 家庭經濟與消費 貳、家庭經濟之管理.
Course 8 回溯、分枝與限制 Backtracking, Branch-and-Bound
鄧姚文 資料結構 第八章:圖(Graph) 鄧姚文
计算机问题求解 – 论题 图的连通度 2018年11月13日.
6上 5 小數除法(二) 9.有A、B兩袋金幣,金幣的數量相同。 的金幣全部是真的,共重 。 中有一些金幣是假的,共重 。 A袋
Advanced Competitive Programming
圖形結構 Graph Structure chapter 9 德明科技大學資訊科技系.
第二專長學分班第三次作業.
Maximum Flow.
Graph 1 Michael Tsai 2012/4/24 連載: 學生上課睡覺姿勢大全
JAVA 程式設計與資料結構 第二十一章 Graph.
Presentation transcript:

Ch07 圖形與網路 淡江大學 周清江 1 1 1

7.1 前言 由簡單到複雜,現在要進入“圖形與網路”,更接近實際應用 頂點可代表捷運站,邊則代表連接各站的軌道 由陣列、鏈結串列,到堆疊、佇列,到樹狀結構,資料結構 由簡單到複雜,現在要進入“圖形與網路”,更接近實際應用 頂點可代表捷運站,邊則代表連接各站的軌道 2

7.2 圖形 (Graph) 的基本術語 V 代表圖形 G 中所有頂點 (Vertices) 的集合 E 代表圖形 G 中所有邊 (Edges) 的集合 在圖中,兩頂點如果直接相連,則這兩頂點間有個邊 圖形的邊如有方向性,此圖稱為 有向圖 (Directed Graph) 圖形的邊如無方向性,此圖稱為 無向圖 (Undirected Graph) 3

範例 完全圖 (Complete Graph) 指圖中的每個頂點均與其他頂點直接相連 4

圖形 (Graph) 的基本術語 頂點的分支度 (branching degree) 對有向圖的頂點來說,可細分為: 對無向圖的頂點來說,是連接此頂點的邊的數目 對有向圖的頂點來說,可細分為: 出分支度 (out degree):此頂點指出去的邊(箭頭)的數目 入分支度 (in degree):指向此頂點的邊(箭頭)的數目 兩頂點之相鄰 (adjacency) 對無向圖的頂點來說,如果存在一個邊 (a,b) ,則頂點 a 與 頂點 b 為相鄰 對有向圖的頂點來說,如果存在一個邊 <a,b> ,則我們說 頂點 a 可連接到 b 5

範例 6

圖形 (Graph) 的基本術語 兩頂點間的路徑(path) 及路徑長度 (path length) 某個從頂點 a 到頂點 b 所經過的頂點所形成的串列,稱為頂點 a 到頂點 b 的一條路徑,而此路徑所經過的邊數稱為此路徑之長度 兩頂點間可能有很多條路徑 兩頂點間的簡單路徑(simple path) 除了起點與終點外,其餘頂點均只拜訪 1 次之路徑 迴路 (cycle) 起點與終點相同之簡單路徑 子圖 (subgraph) 兩個圖形 G=(V,E) 及 G’=(V’, E’),如果 V’ 是 V 的子集合,E’ 是 E 的子集合,則稱 G’ 是 G 的子圖 7

範例 8

範例 9

圖形 (Graph) 的基本術語 無向圖: 兩頂點相連(Connected) 如果頂點 a 與 頂點 b 間存在一條以上簡單路徑,則稱頂點 a 與 頂點 b 相連 如果無向圖 G=(V,E) 中,任兩頂點均相連,則稱 G 為相連 圖 (connected graph) 相連子圖 (connected subgraph) 如果無向圖 G 並非相連圖,則 G 是由數個 獨立的 “子圖” 所組 成 (或說 G 可切割成互不相連的 “子圖” ),這些子圖稱為相連 子圖 或 相連單元 (connected component) 10

範例

圖形 (Graph) 的基本術語 有向圖: 如果 G=(V,E) 中,任兩個頂點 a, b 間,存在一條路徑將頂 點 a 連到頂點 b,也存在一條路徑將頂點 b 連到頂點 a,則 我們稱 G 為緊密相連 (strongly connected) 某個有向圖 G 之最大緊密相連子圖 (即再加上其他頂點就 會違反緊密相連) 也叫做緊密相連單元 (strongly connected component) 有向圖 G 可能有幾個緊密相連單元 12

7.3 圖形表示法 相鄰二維矩陣表示法 相鄰二維矩陣表示法 (Adjacent Matrix) 相鄰串列表示法 (Adjacent List) 相鄰複串列 (Adjacent Multi-List) 相鄰二維矩陣表示法 ch7_udgraph_a.java ch7_dgraph_a.java 請將 ch7_udgraph_a.java 改為由檔案輸入圖形頂點 數目及邊等資料 13

相鄰串列表示法 ch7_udgraph_l.java ch7_dgraph_l.java 請將 ch7_dgraph_l.java 改為由檔案輸入圖形頂點 數目及邊等資料 7.3.3 相鄰複串列 (Adjacent Multi-List) 跳過 14

7.4 圖形追蹤 (Graph Traversal,拜訪) 圖形追蹤是指由圖形的某一頂點出發,依照某個規則 ,拜訪其他頂點,直到所有頂點均拜訪過才停止。為 了避免重覆拜訪某些頂點,造成無窮迴圈,我們會對 拜訪過的頂點加上 “已拜訪” 的標記 圖形追蹤可用於 判斷圖形是否為相連圖 找出圖形的相連單元 找到圖形的擴張樹 找到兩頂點間之最短路徑 工作網路與拓撲排序 (topological sort) 先介紹兩種圖形追蹤方法 深度優先 (depth first) 廣度優先 (breadth first) 15

深度優先搜尋 (depth first search, DFS) 選擇圖形 G 的某一個頂點 x 出發,以 “縱向優先” 策略拜訪所有 x 可到達的頂點 步驟 對頂點 x 做一個 “已拜訪” (visited) 的記號。 從與頂點 x 相連且未被拜訪過的頂點中任選一個頂點,假設 挑到頂點 y,對頂點 y 做一個 “已拜訪”的記號,然後以頂 點 y 為新的起點進行深度優先搜尋 [註;此即是遞迴]。 如果步驟 2 找不到與頂點 x 相連且未被拜訪過的頂點,則須 退回到最近拜訪過的頂點,假設為頂點 z ,再以頂點 z 為新 的起點進行深度優先搜尋 。 如果從已拜訪過的頂點都無法再找到未拜訪過的頂點,則結束 搜尋

深度優先搜尋的實作 將與目前拜訪的頂點相連且未被拜訪過的所有頂點以堆 疊存放 步驟 特點 將頂點 x 放進堆疊 當堆疊還有頂點,執行步驟 3 和 4 從堆疊取出一個頂點,假設為頂點 y ,如果 y 還沒被拜訪過,則對頂 點 y 做一個 “已拜訪” (visited) 的記號 將與 y 相連且未被拜訪過的所有頂點放進堆疊 特點 結果非唯一 如果可拜訪到所有頂點,則該圖形為一相連圖,否則就不是相 連圖

深度優先搜尋範例 (ch7_dfs_a.java,有修改過) ch7_dfs_a.java 是以遞迴呼叫 dfs 的方式來完成

廣度優先搜尋 (breadth first search, BFS) 選擇圖形 G 的某一個頂點 x 出發,以 “橫向優先” 策 略拜訪所有 x 可到達的頂點 實作:將與目前拜訪的頂點相連且未被拜訪過的所有頂點以 佇列存放 步驟 將頂點 x 做一個 “已拜訪” (visited) 的記號 將與頂點 x 相連且未被拜訪過的所有頂點放進佇列 當佇列還有頂點,執行步驟 4 由佇列取出一個頂點,假設為頂點 y ,如果 y 還沒被拜訪過,則以頂點 y 為新的起點進行廣度優先搜尋 [註:遞迴] 特徵 結果非唯一 如果可拜訪到所有頂點,則該圖形為一相連圖,否則就不是相連 圖

廣度優先搜尋實作-2 步驟 將頂點 x 做一個 “已拜訪” (visited) 的記號 將與頂點 x 相連且未被拜訪過的所有頂點放進佇列 當佇列還有頂點,執行步驟 4 由佇列取出一個頂點,假設為頂點 y ,如果 y 還沒被拜訪過,則對頂點 y 做一個 “已拜訪” (visited) 的記號,將與 y 相連且未被拜訪過的所有 頂點放進佇列

廣度優先搜尋範例 (ch7_bfs_a.java,有修改過) ch7_bfs_a.java 是以遞迴呼叫 bfs 的方式來完成

作業-2 請將 ch7_udgraph_a.java 改為由檔案輸入圖形資料 請以堆疊 (參考第 4 章 ch4_stack_1.java)實作 DFS 請以佇列 (參考第 4 章 ch4_cqueue.java)實作本講義 p. 20 之 BFS