news 2026/4/18 14:32:52

Floyd算法这玩意儿挺有意思的,它就像个热心肠的交通协管员,拿着地图挨个路口问:“从这儿到那儿走我这个路口是不是更近?“ 咱们直接来看代码骨架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Floyd算法这玩意儿挺有意思的,它就像个热心肠的交通协管员,拿着地图挨个路口问:“从这儿到那儿走我这个路口是不是更近?“ 咱们直接来看代码骨架

floyd算法求最小距离代码

def floyd(graph): n = len(graph) dist = [[0]*n for _ in range(n)] # 初始化距离矩阵 for i in range(n): for j in range(n): dist[i][j] = graph[i][j] # 三重循环暴力更新 for k in range(n): for i in range(n): for j in range(n): if dist[i][k] + dist[k][j] < dist[i][j]: dist[i][j] = dist[i][k] + dist[k][j] return dist

这个初始化部分有个小细节容易被新手忽略——为什么要单独搞个dist矩阵而不是直接修改原图?想象一下你在更新A到C的距离时,如果直接改原矩阵,后面的B到D的计算可能就用了被污染的数据。这种"数据污染防护"机制挺重要。

中间那个三重循环看起来吓人,其实可以拆解来看。假设现在要计算北京到广州的最短距离,k=武汉这个中间站。算法会先问:"北京->武汉->广州 比 北京直达广州 近吗?"如果近就更新。接着k换成郑州、长沙...直到所有可能的中转站都检查一遍。

来看看具体更新逻辑:

if dist[i][k] + dist[k][j] < dist[i][j]: dist[i][j] = dist[i][k] + dist[k][j]

这行代码藏着动态规划的精髓——最优子结构。就像拼乐高,大问题(i到j)的解建立在更小子问题(i到k和k到j)的最优解之上。不过要注意这里的k遍历顺序,最外层必须是中间节点,这个顺序如果搞反了算法就废了。

实际应用时可以加点路径追踪功能。我们可以在初始化时创建个path矩阵:

path = [[-1]*n for _ in range(n)] if dist[i][j] > dist[i][k] + dist[k][j]: dist[i][j] = dist[i][k] + dist[k][j] path[i][j] = k # 记录关键转折点

这样要查具体路径时,就可以用递归把路径拆成i->k和k->j两段,直到找到-1标识的直达路线。

虽然时间复杂度O(n³)看着吓人,但在实际项目中处理几百个节点的图还是能hold住的。不过要注意输入图的表示方式,如果节点太多建议换稀疏矩阵存储。对了,算法处理负权边时要当心,万一图里有负权环就完犊子了,这时候得用其他法子。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:39:00

HY-MT1.5-7B教育场景应用:学术论文跨语言检索系统部署案例

HY-MT1.5-7B教育场景应用&#xff1a;学术论文跨语言检索系统部署案例 1. 引言&#xff1a;混元翻译模型在教育智能化中的角色 随着全球科研交流日益频繁&#xff0c;学术成果的跨语言获取已成为高校、研究机构和科技企业的核心需求。然而&#xff0c;传统机器翻译系统在处理专…

作者头像 李华
网站建设 2026/4/18 8:53:21

HY-MT1.5如何处理混合语言?中英夹杂文本翻译实战

HY-MT1.5如何处理混合语言&#xff1f;中英夹杂文本翻译实战 在多语言交流日益频繁的今天&#xff0c;中英文夹杂的文本已成为日常沟通中的常见现象。无论是社交媒体、技术文档还是跨文化商务场景&#xff0c;用户常常需要在中文语境中嵌入英文术语或短句。传统翻译模型面对这…

作者头像 李华
网站建设 2026/4/18 8:17:46

腾讯混元翻译模型怎么用?HY-MT1.5快速上手从部署到调用指南

腾讯混元翻译模型怎么用&#xff1f;HY-MT1.5快速上手从部署到调用指南 1. 引言&#xff1a;为什么选择腾讯混元翻译模型&#xff1f; 随着全球化进程加速&#xff0c;跨语言沟通需求激增&#xff0c;高质量、低延迟的翻译服务成为企业与开发者的核心诉求。然而&#xff0c;依…

作者头像 李华
网站建设 2026/4/18 7:03:16

企业知识库集成HY-MT1.5:多语言搜索方案

企业知识库集成HY-MT1.5&#xff1a;多语言搜索方案 在当今全球化业务快速发展的背景下&#xff0c;企业知识库的多语言支持能力已成为提升跨区域协作效率的关键。然而&#xff0c;传统翻译服务往往存在延迟高、成本大、隐私风险高等问题&#xff0c;难以满足企业级知识管理对…

作者头像 李华
网站建设 2026/4/18 8:28:06

AI实体侦测服务集群部署:高可用架构设计与实现

AI实体侦测服务集群部署&#xff1a;高可用架构设计与实现 1. 引言&#xff1a;AI 智能实体侦测服务的业务价值 随着非结构化文本数据在新闻、社交、金融等领域的爆炸式增长&#xff0c;如何从海量文本中快速提取关键信息成为企业智能化转型的核心需求。命名实体识别&#xf…

作者头像 李华
网站建设 2026/4/18 6:28:53

Hunyuan翻译系统架构设计:HY-MT1.5在生产环境的应用

Hunyuan翻译系统架构设计&#xff1a;HY-MT1.5在生产环境的应用 1. 背景与技术演进 随着全球化进程加速&#xff0c;高质量、低延迟的机器翻译需求在跨境电商、内容本地化、智能客服等场景中持续增长。传统云侧大模型虽具备较强翻译能力&#xff0c;但在隐私保护、响应速度和部…

作者头像 李华