新发现或大错误!!高手看看,starfish别漏了。
已知:用十字链表存储的有向网络,弧的权值存在ArcBox里。
求解:从给定原点(eg. v0)到其余顶点的最短路径。
解:用Broadth_first_search,
by way of
队列queue
辅助数组
int _priorVex[MAX_VERTEX_NUM+1]; 纪录当前最短路径本节点的立即前驱节点的下标
int _shortPath[MAX_VERTEX_NUM+1]; 记录本节点的当前最短路径的权值
算法:假设所定原点是v0
enqueue(v0);
while(queue not empty){
p=dequeue();
for(q=p.firstout;q;q=p.nextout(q)){
if(_shortPath(p)+weight(p,q) < _shortPath(q)){
_shortPath(q) := _shortPath(p)+weight(p,q);
_priorVex(q)=p;
if(q is not in queue){
enqueue(q);
}
}
}
}
我的考虑是:
假设v0...v1...v2是v0到v2的最短路径,那么可以断言
此中的v0...v1是v0到v1的最短路径(反证法)
而此路径中的任意一点都对应一条弧,弧又对应于<tail,head>。
对应于顶点v,若它的_shortPath改变了(定由于某条进入它的弧引起的变化),那么以v为弧尾的弧的弧头都应看看有没有变化,所以
if(q is not in queue){
enqueue(q);
}
我还有源代码,谁有兴趣请留下mail,谢谢。
相关推荐
Linux系统应用与开发教程PPT
Linux系统应用与开发教程PPT
Windows 11本地部署Langchain-Chatchat私有知识库全指南
私有知识库是企业构建可审计、可追溯、数据不出域的智能问答系统的核心基础设施。其技术原理基于RAG(检索增强生成)架构,通过文档解析、语义分块、向量嵌入(如bge-large-zh-v1.5)、FAISS向量检索与大模型生成闭环实现‘所问即所得’。该方案的技术价值在于兼顾安全性(纯本地运行)、中文友好性(jieba分词+PDF页级溯源)与商用可行性(Apache-2.0协议),适用于法务合规查询、员工手册问答、行业标准检索等典型场景。本文聚焦Langchain-Chatchat在Windows 11环境下的端
《嵌入式Linux应用开发教程》PPT
《嵌入式linux应用开发教程》华清远见嵌入式学院 赵苍明 穆煜 编著 人民邮电出版社 ISBN 9787115209047/TP
Linux系统应用与开发教程PPT....................
Linux系统应用与开发教程PPT..........................
Python轻量级Web日志分析工具:从正则解析到可视化报告实战
日志分析是运维和开发中的基础工作,它通过对服务器日志进行收集、解析和统计,帮助开发者监控系统状态、排查故障和优化性能。其核心原理在于将非结构化的日志文本转化为结构化的数据,进而通过聚合计算提取关键指标。这项技术的价值在于能够快速定位问题、洞察用户行为,并辅助安全分析,广泛应用于网站流量监控、API性能调优和安全威胁检测等场景。本文以Python为核心,详细介绍了如何构建一个轻量级的命令行日志分析工具,重点探讨了使用正则表达式进行高效解析、利用collections模块进行流式统计,以及通过Jinja2模板生


