graph

Posted eleni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了graph相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

实验三

实验三

实验三:类和对象

图的顺序存储 湖南大学

实验4

《漫画算法2》源码整理-2 图算法