python-数据结构代码 图(邻接表),,class Vert
python-数据结构代码 图(邻接表),,class Vert
class Vertex: def __init__(self,key): self.id=key self.connectedTo={} def addNeighbor(self,nbr,weight=0): self.connectedTo[nbr]=weight def __str__(self): return str(self.id)+‘ connectedTo: ‘+str([x.id for x in self.connectedTo]) def getConnections(self): return self.connectedTo.keys() def getId(self): return self.id def getWeight(self,nbr): return self.connectedTo[nbr]class Graph: def __init__(self): self.vertList={} self.numVertices=0 def addVertex(self,key): self.numVertices=self.numVertices+1 newVertex=Vertex(key) self.vertList[key]=newVertex return newVertex def getVertex(self,n): if n in self.vertList: return self.vertList[n] else: return None def __contains__(self,n): return n in self.vertList def addEdge(self,f,t,cost=0): if f not in self.vertList: nv=self.addVertex(f) if t not in self.vertList: nv=self.addVertex(t) self.vertList[f].addNeighbor(self.vertList[t],cost) def getVertices(self): return self.vertList.keys() def __iter__(self): return iter(self.vertList.values())g=Graph()for i in range(6): g.addVertex(i)print(g.vertList)g.addEdge(0,1,5)g.addEdge(0,5,2)g.addEdge(1,2,4)g.addEdge(2,3,9)g.addEdge(3,4,7)g.addEdge(3,5,3)g.addEdge(4,0,1)g.addEdge(5,4,8)g.addEdge(5,2,1)for v in g: for w in v.getConnections(): print("(%s,%s)"%(v.getId(),w.getId()))
python-数据结构代码 图(邻接表)
相关内容
- python urlib2报错gaierror: [Errno 11004] getaddrinfo failed,,
- Python3.x:简单时间调度Timer(间隔时间执行),python3
- python数据分析实战-第7章-用matplotlib实现数据可视化,
- python单元测试unitest,,import uni
- Python:GUI之tkinter学习笔记1控件的介绍及使用,pythontki
- python运维实战--LVM创建和在线扩容,,python运维实战
- 鍩轰簬python璇█鐨則ensorflow鐨勨€樼鍒扮鈥欑殑
- Python iter() 函数,pythoniter函数,iter() 函数用
- [Deep-Learning-with-Python]GAN图片生成,,GAN由Goodfe
- 用python做一个烟花show,python烟花show, 烟花效果如图
评论关闭