- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
計算式樹的計算 以後序追蹤計算式樹,請寫下結果。 - * 5 3 / + 6 2 4 圖形(Graph) 圖形(Graph)是指以邊(Edge)將節點(node, Vertex)連接起來的物件。 G=(V, E) V = vertex set E = edge set 圖形表示法: Adjacency list Adjacency matrix Undirected Graph Directed Graph 圖形的搜尋 Breadth-first search (BFS) Depth-first search (DFS) Topological sort Strongly connected components 無向圖(undirected Graph)表示法 有向圖(directed Graph)表示法 Breadth-First Search (BFS) Depth-first search (DFS) 拓樸排序(Topological sort) 拓樸排序是指以某種規則將一有向圖形連接的節點排列成一列的情形。 方法不是唯一。 1 2 4 5 6 8 7 3 Euler的一筆畫 1736年,尤拉發表了他的「一筆劃定理」,大致如下:? ? 一個圖形要能一筆劃完成必須符合兩個狀況:? ? 1. 圖形是封閉連通的;? ? 2. 圖形中的奇點個數為0或2。 Spanning Tree(展開樹) A spanning tree of a graph is just a subgraph that contains all the vertices and is a tree. A graph may have many spanning trees; for instance the complete graph on four vertices Minimum spanning tree The weight of a tree is just the sum of weights of its edges. Lemma: Let X be any subset of the vertices of G, and let edge e be the smallest edge connecting X to G-X. Then e is part of the minimum spanning tree. Kruskals algorithm 最易理解,也最易以手算的方法。 Kruskals algorithm: sort the edges of G in increasing order by length keep a subgraph S of G, initially empty for each edge e in sorted order if the endpoints of e are disconnected in S add e to S return S 這是一個Greedy method (貪心演算法) 那個邊(edge)存在於下圖的最小成本生成樹(minimum-cost spanning trees)中? (a)AB (b)CD (c)CE (d)EF Sort: 5,6,10,12,15,18,21,24,25,30 A E D B C F 5 12 15 6 10 18 25 21 24 30 Minimum cost = 5+6+12+18+24 = 65 Minimum cost spanning tree 下圖中的最小成本擴張樹(Minimum cost spanning tree)的成本為 (a)17 (b)20 (c)22 (d)14 最短路徑(Shortest Path) 最短路徑(Shortest Path) 最短路徑(Shortest Path) 最短路徑(Shortest Path) 排序(sort) 直接選擇法(基本選擇法)O(n2) 泡泡排序法(基本交換法)O(n2) 快速排序法(改良交換法)O(nlog2n) Heap 排序(改良選擇法)O(nlog2n) 合併排序(Merge sort) O(nlog2n) Shell 排序(改良插入法)O(n1.2) Merge Sort Definition: A sort algorithm that splits the items to be sorted into two groups, recursively sorts each group, and merges them into a final, sorted sequence. Run t
文档评论(0)