主题graph表示法和dfs

主题graph表示法和dfs

ID:21351920

大小:353.00 KB

页数:44页

时间:2018-10-21

主题graph表示法和dfs_第1页
主题graph表示法和dfs_第2页
主题graph表示法和dfs_第3页
主题graph表示法和dfs_第4页
主题graph表示法和dfs_第5页
资源描述:

《主题graph表示法和dfs》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、主題:Graph:表示法與DFS解題技巧基本定義Graph表示法(存法)DFSandapplications例題講解歷年題目1基本定義Graph由vertices和edges所組成2基本定義undirectedV.Sdirected定義在edge上undirectededgeedge沒有方向性,如果說a和b之間有一條edge,則表示a可經由這條edge到b,b也可由這條edge到adirectededgeedge有方向性,比如說a到b有一條edge,則表示a可經由這條edge到b,但是b不能由這條e

2、dge到a3undirecteddirectedExample4基本定義unweightedV.Sweighted可定義在vertex上或是edge上edge的weight用來表示這個edge長度或其它定義的weight,比如說經過這條edge所要花費的cost如果是unweightededge,一般來說edge的長度就是等於1vertex的weight用來表示這個vertex的重要性或其它定義的weight,比如說經過這個vertex所要花費的cost如果是unweightedvertex,一般來

3、說vertex的weight就是等於15基本定義degree定義在vertex上undirectedgraphvertex的degree就等於跟這個vertex相連的edge個數directedgraphvertex的degree分成兩種indegree所有指向這個vertex的edge個數outdegree所有由這個vertex指出去的edge個數6undirecteddirecteddegree=3indegree=2outdegree=2Example7建議當看到一個題目時,如果是graph上

4、的題目或是要轉成graph來做的題目的話,首先要判斷這個graph是directed或undirected,是weighted或unweighted,是不是一些比較特殊的graph,因為所要存的資料,適用的演算法,解題技巧都不太一樣8Graph表示法(存法)Adjacency-matrix開一個二維陣列,size是n×nn為vertices的個數unweighted-edge:A[i,j]=1代表由vertexi到vertexj有一條edge,A[i,j]=0代表沒有weighted-edge:A[

5、i,j]存由vertexi到vertexj這條edge的weight(表示這條edge不存在)Adjacency-list開n個list,總共的size是n+mm為edge的個數每個list後面接著跟這個vertex可連到的vertex9Example:undirected0143201234001001110111201010301101411010adjacency-matrix012341011344340//221//3/adjacency-list10-1表示nil有edgelength

6、時使用另一個陣列len[2m]Adjacency-list存法01432013341011344340//221//3/i012345678910111213adj[n]096811node[2m]14442313102301next[2m]1-11045-17-123-11213-18124102-1110143201234001001100101200010301000400010adjacency-matrix0123412313///44//adjacency-listExample:dir

7、ected12Graph存法建議用adjacency-matrix方便,好寫可直接查表知道vertexi和vertexj之間相連的情況(用adjacency-list的話需要scanlist一次)雖然較花memory和時間,不過絕大部分的題目用adjacency-matrix就夠了13常見的input給法(I)給一堆edge13251554234234每次讀進一條edge之後,就把它加入adjacency-matrix之中,記得要看清楚題目的edge有沒有方向性,如果是undirected的edge

8、,要記得雙向edge都要加比如讀到13這條edge,而且是undirected,就表示1到3和3到1都有edge14常見的input給法(II)直接給adjacency-list或adjacency-matrix250100115341011124或010102530110141211010直接讀進來存進adjacency-matrix中就好15常見的input給法(III)給法跟前面兩種很像,只是vertex的編號可能很大,而不是1到n,或是vertex的編號不是數

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。