![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Graph
有关图的算法及实现
高一少年
Things will come your way
展开
-
哈密尔顿图
哈密尔顿图(Hamilton Graph) 对于图每个顶点只访问一次,并且返回起点 Example: 思路: Reference:https://www.geeksforgeeks.org/hamiltonian-cycle-backtracking-6/ 首先创建一个空的path,并且将0这个点(随机选择的起点)加入其中 从1开始添加后续顶点,在添加后续顶点之前首先要检查这些顶点是不是与...原创 2019-12-01 09:58:24 · 1872 阅读 · 0 评论 -
单源最短路径-Dijkstra算法
文章目录无权图-BFS有权图-Dijkstra算法 无权图-BFS graph = { 1:[2,4], 2:[4,5], 3:[1,6], 4:[3,5,6,7], 5:[7], 6:[], 7:[6], } from collections import deque dist = {} path = {} def bfs(graph,...原创 2019-11-06 15:25:37 · 167 阅读 · 0 评论 -
最小生成树-Prim算法
最小生成树(Minimum Spanning Tree) 特点: 首先是一棵树: 没有回路 V个顶点一定有V-1条边 其次是生成树: 包含所有顶点 并且只能从现有边生成树的边 向生成树中任意加一条边都一定会构成回路 边的权重和最小 贪心算法 每一步都要最好的 什么是好? 即权重最小的边 但是有约束: 只能用图中的边 只能正好用V-1条边 不能构成回路 Prim算法代码实现: graph = { ...原创 2019-11-08 13:03:30 · 347 阅读 · 0 评论 -
最小生成树-Kruskal算法
Kruskal算法 更为直接地贪心,每次从图中找: 没有收录的 不会构成回路的 权重最小的边 class Edge: def __init__(self, weight=None, v1=None, v2=None): self.weight = weight self.v1 = v1 self.v2 = v2 def __lt__...原创 2019-11-08 13:13:29 · 101 阅读 · 0 评论 -
图的染色
着色问题解决的第一步也是最重要的一步就是把结点按度数从大到小排好序 其目的就是可以找到邻接点最多的点,即邻接点使用不同颜色,从而着色更少的点,得到最小着色数 graph = { 1:[2,3,4,6,7], 2:[1,3,4,5], 3:[1,2,5,6,7], 4:[1,2,5,7], 5:[2,3,4,6,7,8], 6:[3,4,8], ...原创 2019-12-01 09:58:54 · 1741 阅读 · 5 评论 -
迷宫探索—图的应用
迷宫探索——DFS&BFS应用 深度优先搜索DFS 广度优先搜索BFS 迷宫的初始化 import pygame import random black = ( 0, 0, 0) white = ( 255, 255, 255) green = ( 0, 255, 0) red = ( 255, 0, 0) yellow = (...原创 2019-11-17 11:00:46 · 271 阅读 · 1 评论 -
Fleury算法-欧拉图
文章目录 欧拉图:经过每个节点仅一次走完图 桥:删去此边,图就不连通 Fleury算法: (1)任取v0∈V(G),令P0=v0 (2)设pi = v0e1v1e2…eivi已经走遍,按下面方法从E(G)-{e1,e2,e3,…,ei}中选取e(i+1) (3)当(2)不能在进行时,算法停止 e(i+1)满足: 1、e(i+1)与vi相关联; 2、除非没有别的边可以走,否则e(i+1)不应该为Gi...原创 2019-12-01 09:58:43 · 3473 阅读 · 0 评论 -
Havel算法-Python实现
Havel算法: (1)对序列从大到小进行排序 (2)设最大的度数为t,把最大的度数置0,然后把最大度数后(不包括自己)的t个度数分别减1 (就是把度数最大的点与后几个点进行连接) (3) - 如果序列中出现了负数,证明无法构成 - 如果序列全部变为0,证明能构成,跳出循环 - 前两点不出现,就跳回第一步 假设一个度序列(已经是非递增顺序排序)3,3,3,3,2 1.由于最大的是3,则从第2个开始...原创 2019-12-01 09:58:35 · 298 阅读 · 0 评论