1 Star 0 Fork 0

K-on/data_structure

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
图的实现.py 1.35 KB
一键复制 编辑 原始数据 按行查看 历史
HASEE 提交于 2020-08-16 15:04 +08:00 . 数据结构
"""
顶点类
"""
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 += 1
newVertex = Vertex(key)
self.vertList[key] = newVertex
return newVertex
def getVertex(self, n): # 通过key查找顶点
if n in self.vertList:
return self.vertList[n]
else:
return None
def __contains__(self, item):
return item 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())
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/HuangJiaLuo/data_structure.git
[email protected]:HuangJiaLuo/data_structure.git
HuangJiaLuo
data_structure
data_structure
master

搜索帮助