Python实现基本图算法及完整源码
在计算机科学中,图是一种非常常见的数据结构,被广泛应用于各种领域。在本文中,我们将使用Python来实现一些基本的图算法,并提供相应的完整源码,方便读者学习和参考。
首先,我们需要定义一个Graph类来表示图。该类具有以下属性:
- nodes: 保存所有节点的列表。
- edges: 保存所有边的列表。
- directed: 表示图是否为有向图。
下面是Graph类的代码实现:
class Graph:
def __init__(self, directed=False):
self.nodes = []
self.edges = {}
self.directed = directed
def add_node(self, node):
self.nodes.append(node)
self.edges[node] = []
def add_edge(self, node1, node2, weight=1):
self.edges[node1].append((node2, weight))
if not self.directed:
self.edges[node2].append((node1, weight))
接下来ÿ