100种算法【Python版】第18篇——Prim算法

1 算法原理及步骤

Prim算法从一个起始节点开始,逐步扩展生成树,每次选择具有最小权重的边扩展到一个新节点,直到所有节点都被包含。算法的步骤

(1)初始化:

  • 选择一个起始节点,将其标记为已访问。
  • 将起始节点的所有边加入候选边集合。

(2)构建树:

  • 从候选边集合中选择权重最小的边。
  • 如果该边连接到一个未访问的节点,则将该节点标记为已访问,并将其加入生成树。
  • 将新节点的所有未访问邻居的边加入候选边集合。

(3)重复:

  • 重复选择和扩展过程,直到所有节点都被访问,生成树构建完成。

2 生成迷宫的逻辑

Prim算法生成迷宫的实现逻辑如下:

(1)初始化:

  • 创建一个全封闭的迷宫矩阵,初始状态为全墙。
  • 选择一个起始格子,将其设置为通路。

(2&#x

猜你喜欢

转载自blog.csdn.net/qq_32882309/article/details/143308747