码迷,mamicode.com
首页 > 其他好文 > 详细

graph(2)

时间:2019-10-20 12:52:36      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:connect   byte   dfs   img   个数   pat   cycle   mil   width   

1. calloc(size_t nelems个数, size_t nbytes所需空间): 分配出nelems*nbytes的内存,这块内存里的所有字节初始化为0

2. DFS

所有vertex最多走一次(O(v)),所有标记了visited vertices的都走过(O(E)),时间复杂度为O(V+E)

技术图片

技术图片

3. stack倒序放入,时间复杂度也为O(V+E)

 技术图片

 

DFS也可以检测是否存在cycle,以及component的个数(数一共给出了几组图)

4. BFS(优势是可以找到最短路径),时间复杂度也为O(V+E)

 技术图片

 

5. Hamiltonian Path

在graph G中找到一条path连接vertices v, w,使得每个vertex只经过了一次

 若v=w,则为Hamiltonian circuit

 技术图片

 

6. 在graph G中找到一条路径连接两个vertices v, w,每个边只走一次,但是可以多次来同一个点

若v=w, 则为Euler circuit

定理:A graph has an Euler circuit if and only if it is connected and all vertices have even degree

A graph has a non-circuitous Euler path if and only if it is connected and exactly two vertices have odd degree

 

graph(2)

标签:connect   byte   dfs   img   个数   pat   cycle   mil   width   

原文地址:https://www.cnblogs.com/eleni/p/11706979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!