Graph Theory Graph theory is the study of the properties of graph structures. It provides us with a language with which to talk about graphs.

Slides:



Advertisements
Similar presentations
第二章 函数微分学 §2.3 函数的微分 本节内容 一.微分的定义 二.微分的几何意义 三.微分公式与运算法则.
Advertisements

《互联网运营管理》系列课程 觉浅网 荣誉出品
Introduction to Computer Science
第八章 連結分析 Link Analysis.
動畫與遊戲設計 Data structure and artificial intelligent
Chapter 10 Graphs.
Network Optimization: Models & Algorithms
Chapter 12 圖形結構 12.1 圖形的一些專有名詞 12.2 圖形資料結構表示法 12.3 圖形追蹤 12.4 擴展樹
資料結構與C++程式設計進階 資料結構概論 講師:林業峻 CSIE, NTU 6/ 7, 2010.
第7章 图论基础与应用 PART A 《可视化计算》.
Minimum Spanning Trees
Chap5 Graph.
7.5 擴張樹 (Spanning Tree) 一個無向相連圖 G 的子圖 G’ 如果可用最少的邊來連接G 的
Chapter 4 Spanning Trees
Chap5 Graph.
樹狀結構 陳怡芬 2018/11/16 北一女中資訊專題研究.
SAT and max-sat Qi-Zhi Cai.
第8章 圖形結構(Graphs) 8-1 圖形的基本觀念 8-2 圖形的表示法 8-3 圖形的走訪 8-4 擴張樹
Chapter 6 Graph Chang Chi-Chung
The Greedy Method.
演算法方式總覽 The Divide-and-Conquer Strategy (個各擊破)(binary Searching、Quick Sort…. ) The Greedy Method(貪婪演算法) (Prim MST、Kruskal MST、Djikstra's algorithm) Dynamic.
圖論 (Graph Theory) B 電機四 大鳥 B 電機四 酋長 B 電機四 炫大
Extend materials: physical layer and more
第4章 网络互联与广域网 4.1 网络互联概述 4.2 网络互联设备 4.3 广域网 4.4 ISDN 4.5 DDN
Graph 2 Michael Tsai 2012/5/1 連載: 學生上課睡覺姿勢大全
Course 9 NP Theory序論 An Introduction to the Theory of NP
Chapter 5 Fundamental Properties of Graphs and Digraphs
Simulated Annealing 報告者:李怡緯 OPLAB in NTUIM.
Journal of High Speed Networks 15(2006)
Chapter 7 圖形與網路 資料結構導論 - C語言實作.
資料結構 第7章 圖形結構.
第16讲 图的矩阵表示, 赋权图与最短路径 主要内容: 1.图的矩阵表示. 2.赋权图与最短路径..
Chapter12 Graphs Definitions Applications Properties
Yuzhong Qu Nanjing University
Ch07 圖形與網路 淡江大學 周清江
Chapter 2 Basic Concepts in Graph Theory
Chp.4 The Discount Factor
第9章 基本图算法 本章内容将包含基本的图形表示法,以及先深搜寻,先广搜寻,拓朴排序,Strongly Connected Components。
Version Control System Based DSNs
数据结构概论 第7章 图 董黎刚 浙江工商大学信电学院 2019年4月8日.
最短路徑 The Shortest Path.
Chp.4 The Discount Factor
第三章 暴力法.
圖論的介紹 第二組 徐榮德 鄭又齊 陳俊嘉.
第15讲 路与回路, 图的连通性 主要内容: 1.路与回路. 2.图的连通性..
Tournament (graph theory)
Chp.4 The Discount Factor
生成树.
鄧姚文 資料結構 第八章:圖(Graph) 鄧姚文
Efficient Query Relaxation for Complex Relationship Search on Graph Data 李舒馨
最短通路问题.
网络模型 Network Modeling Operations Research 运 筹 学
第6章 运输系统及运输优化.
计算机问题求解 – 论题 图的连通度 2018年11月13日.
定语从句(11).
Konig 定理及其证明 杨欣然
All Sources Shortest Path The Floyd-Warshall Algorithm
複習 2013/12/24 Jehn-Ruey Jiang 江振瑞.
Advanced Competitive Programming
An Optimal Minimum Spanning Tree Algorithm
Advanced Competitive Programming
圖形結構 Graph Structure chapter 9 德明科技大學資訊科技系.
Maximum Flow.
Graph 1 Michael Tsai 2012/4/24 連載: 學生上課睡覺姿勢大全
Principle and application of optical information technology
A Presentation By: Mike Sharobim Pictures By: Unknown source
圖 論 簡 介.
计算机问题求解---论题3-12 图中的匹配与因子分解
JAVA 程式設計與資料結構 第二十一章 Graph.
Presentation transcript:

Graph Theory Graph theory is the study of the properties of graph structures. It provides us with a language with which to talk about graphs.

Degree The degree of a vertex is the number of edges incident upon it. The sum of the vertex degrees in any undirected graph is even (twice the number of edges). Every graph contains an even number of odd-degree vertices.

Connectivity A graph is connected if there is an undirected path between every pair of vertices. The existence of a spanning tree is sufficient to prove connectivity. The vertex (edge) connectivity is the smallest number of vertices (edges) which must be deleted to disconnect the graph.

Some terms articulation vertex  biconnected bridge  edge-biconnected Testing for articulation vertices or bridges is easy via brute force.

Cycles Eulerian cycle (path): a tour which visits every edge of the graph exactly once. Actually, it is a circuit, not a cycle, because it may visit vertices more than once. A mailman’s route is ideally an Eulerian cycle, so he can visit every street (edge) in the neighborhood once before returning home.

Eulerian Circuit http://en.wikipedia.org/wiki/Eulerian_graph

An undirected graph contains an Eulerian cycle if it is connected and every vertex is of even degree. A Hamiltonian cycle is a tour which visits every vertex of the graph exactly once. The traveling salesman problem asks for the shortest such tour on a weighted graph.

TSP http://www.cs.princeton.edu/courses/archive/spr05/cos126/assignments/tsp.html

Planer Graph Euler’s formula: n-m+f=2 n:# of vertices m:# of edges f: # of faces Trees: m=n-1, f=1 Cubes: n=8, m=12, f=6

MST Kruskal’s algorithm: starting from a minimal edge Prim’s algorithm: starting from a given vertex How about maximum spanning tree and Minimum Product spanning tree

Kruskal’s Algorithm Algorithm Kruskal(G) Input:G=(V, E)為無向加權圖(undirected weighted graph),其中V={v0,…,vn-1} Output:G的最小含括樹(minimum spanning tree, MST) T← //T為MST,一開始設為空集合 while T包含少於n-1個邊 do 選出邊(u, v),其中(u, v)E,且(u, v)的加權(weight)最小 E←E-(u, v) if ( (u, v)加入T中形成循環(cycle) ) then 將(u, v)丟棄 else T←T(u, v) return T

Kruskal’s Algorithm -Construct MST

Prim’s algorithm Algorithm Prim(G) Input:G=(V, E)為無向加權圖(undirected weighted graph),其中V={v0,…,vn-1} Output:G的最小含括樹(minimum spanning tree, MST) T← //T為MST,一開始設為空集合 X←{vx} //隨意選擇一個頂點vx加入集合X中 while T包含少於n-1個邊 do 選出(u, v)E,其中uX且vV-X,且(u, v)的加權(weight)最小 T←T(u, v) X←X{v} return T

One-to-all shorted path Dijkstra演算法: Dijkstra演算法屬於求取單一來源(source)至所有目標(destination)頂點的一至多(one-to-all)最短路徑演算法

圖的最短路徑 我們將d[u]以加中括號的方式標記在每一個頂點旁,使用圖8-5來說明Dijkstra演算法求頂點A到每一個頂點最短路徑的過程。 若要讓Dijkstra演算法也能夠求出每一條最短路徑所經過的每一個頂點,則我們要將每一頂點在最短路徑中的前一頂點紀錄下來,其作法為增加一個陣列p(代表predecessor,前行者)來記錄最短路徑中的每一個頂點的前一頂點。並將Dijkstra演算法之if敘述修改如下: if (d[u]+w[u][x]<d[x]) then d[x]←d[u]+w[u][x] p[x]←u //此敘述為新加入者,代表在最短路徑中頂點x的前一頂點為u

圖8-5

圖8-5

圖的最短路徑 以下我們以表8-1來說明Dijkstra演算法的執行過程:

All-pair shortest path Floyd-Warshall的所有頂點對最短路徑(all-pair shortest path)演算法:

圖的最短路徑 以下我們在圖8-6中使用圖8-5中的圖(graph)來說明Floyd-Warshall的所有頂點對最短路徑演算法執行過程,請注意,我們使用代表在啟始狀況之值,代表在迴圈第一次,第二次,…,及第k次執行時陣列c的值。

圖8-6

圖8-6