图的遍历
python中图的建立
这一部分完全参考:https://blog.csdn.net/LSGO_MYP/article/details/91435589
用临接表的形式储存图
顶点表结点 VertexNode
#!/usr/bin/python
# -*- coding: UTF-8 -*-
lass VertexNode(object): #顶点表节点
def __init__(self,vertexname,visited=False,p=None):
self.vertexName =vertexname #节点名字
self.Visited=visited #此节点是否被访问过
self.firstNode = p #指向所连接的边表节点的指针(EdgeNode)
边表结点 EdgeNode
class EdgeNode(object): #边表节点
def __init__(self,index,weight,p=None):
self.Index =index #尾节点在边表中对应序号
self.Weight=weight #边的权值
self.Next = p #链接同一头节点的下一条边
利用邻接表存储图的结构AdGraph
class Adgraph(object):
def __init__(self,vcount=0):
self.vertexList = [] #用list链接边表