Python:最短路

简介: Python:最短路

01 题目

如下图所示,GG 是一个无向图,其中蓝色边的长度是 11、橘色边的长度是 22、绿色边的长度是 33。



02 代码

比较简单, 最重要的是迭代分析;

import os
import sys
# 请在此输入您的代码
r_list = [
    ["A", "E", 1],
    ["A", "B", 2],
    ["A", "C", 1],
    ["A", "D", 1],
    ["A", "E", 1],
    ["B", "G", 1],
    ["B", "J", 2],
    ["C", "D", 3],
    ["C", "G", 3],
    ["C", "F", 3],
    ["D", "G", 2],
    ["D", "H", 1],
    ["D", "I", 2],
    ["E", "H", 1],
    ["E", "I", 3],
    ["F", "J", 1],
    ["F", "G", 1],
    ["G", "K", 2],
    ["G", "I", 3],
    ["H", "L", 2],
    ["H", "I", 1],
    ["I", "M", 3],
    ["J", "S", 2],
    ["K", "N", 1],
    ["K", "L", 3],
    ["L", "R", 1],
    ["L", "M", 1],
    ["M", "N", 2],
    ["M", "Q", 1],
    ["M", "S", 1],
    ["N", "P", 1],
    ["Q", "O", 1],
    ["O", "R", 3],
    ["P", "O", 1],
    ["R", "S", 1],
]
nums = []
def get(value):
  global num
  num += value[2]
  for next_value in r_list:
    if value[1] == 'S':
      nums.append(num)
      break
    elif next_value[0] == value[1]:
      get(next_value)
for value in r_list:
  if value[0] == 'A':
    num = 0
    get(value)
print(min(nums))
目录
相关文章
|
8月前
|
Python
动态规划代码(python
动态规划代码(python
48 4
|
8月前
|
算法 索引 Python
Python3实现旋转数组的3种算法
Python3实现旋转数组的3种算法
64 0
|
算法 Python
Python算法——广度优先搜索
Python算法——广度优先搜索
227 0
|
算法 Python
Python算法——二叉树遍历
Python算法——二叉树遍历
140 0
|
8月前
|
人工智能 机器人 测试技术
【python】两数之和 python实现(详细讲解)
【python】两数之和 python实现(详细讲解)
|
2月前
|
存储 搜索推荐 Python
用 Python 实现快速排序算法。
快速排序的平均时间复杂度为$O(nlogn)$,空间复杂度为$O(logn)$。它在大多数情况下表现良好,但在某些特殊情况下可能会退化为最坏情况,时间复杂度为$O(n^2)$。你可以根据实际需求对代码进行调整和修改,或者尝试使用其他优化策略来提高快速排序的性能
132 61
|
8月前
|
开发工具 Python
2024年Python最全使用Python求解方程_python解方程,2024年最新面试高分实战
2024年Python最全使用Python求解方程_python解方程,2024年最新面试高分实战
2024年Python最全使用Python求解方程_python解方程,2024年最新面试高分实战
|
8月前
|
算法 Python
Python中实现图论算法
Python中实现图论算法 “【5月更文挑战第20天】”
63 3
|
数据可视化 Python
【python】python实现杨辉三角的三种方法
【python】python实现杨辉三角的三种方法
822 1
|
8月前
|
Python
1189: 找零钱(python)
1189: 找零钱(python)

热门文章

最新文章