python 数据结构与算法——图

图的概念及分类

图的应用

多了去了

图的表示

  • 邻接矩阵
  • 领接边表: 每个顶点的边用链表实现
  • 邻接边集: 每个顶点的边用并查集实现
表示 空间 检测 u,v 是否连接 遍历v的邻居
边表 E E E E E E
邻接矩阵 V 2 V^2 1 1 V V
邻接边表 E + V E+V D e g r e e ( v ) Degree(v) D e g r e e ( v ) Degree(v)
邻接边集 E + V E+V log ( D e g r e e ( v ) ) \log(Degree(v)) D e g r e e ( v ) Degree(v)

图的周游

深度优先

广度优先

拓扑排序

最短路径算法

总结各类图中的算法复杂度

类型 复杂度
无权图 (BFS) O ( E + V ) O(E+V)
有权图 (Dijkstra) O ( E log ( V ) ) O(E\log(V))
有权图有负边 (Bellman-Ford) O ( E V ) O(EV)
有权无环图 O ( E + V ) O(E+V)

无权图

有权图

Dijkstra 算法

Bellman-Ford 算法

最小生成树

Prim 算法

Kruskal 算法

妈耶,这块内容也太多了,以后再写

发布了274 篇原创文章 · 获赞 446 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/itnerd/article/details/103931582