这里有米诺地尔有用吗与3mga的对比。求问百度网友

403 Forbidden
403 Forbidden最短路径问题的几个算法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
最短路径问题的几个算法
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩13页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢君,已阅读到文档的结尾了呢~~
【最新精选】几种常用的最短路径算法
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
【最新精选】几种常用的最短路径算法
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口ACM报告(67)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:387610次
积分:9563
积分:9563
排名:第1524名
原创:287篇
转载:1943篇
(36)(172)(194)(52)(5)(149)(32)(85)(164)(258)(112)(24)(403)(199)(1)(10)(76)(283)最短路径算法记录多条路径 - 北京的杨过 - ITeye技术网站
博客分类:
在使用Dijkstra算法计算最段路径的时候,如果只有多条最段路径默认只能输出一条,其实只要修改一下代码就可以得到多条最段路径。
public ArrayList&ArrayList&Node&&
shortPathAstar(Node src,Node des){
open.clear();
closed.clear();
open.add(src);
while(open.size() & 0){
float lowest = Float.MAX_VALUE;
int c = -1;
//找到Open列表中当前路径最小值节点
for(int i = 0; i & open.size(); i++){
Node temp = (Node) open.get(i);
if(temp.getF() & lowest){
lowest = temp.getF();
Node current = (Node) open.remove(c);
closed.add(current);
if(current.equals(des)){
for(int i = 0; i & current.getLinks().size(); i++){
Connector a = (Connector) current.getLinks().get(i);
Node adjacent = a.getDes();
if(!arrayListContains(closed, adjacent)){
if(!arrayListContains(open, adjacent)){//不在open表中
open.add(adjacent);
adjacent.setParenet(current);
adjacent.setF(current.getF()+a.getDistance());
}else{//在open表中
if(adjacent.getF() & current.getF()+a.getDistance()){
adjacent.setParenet(current);
adjacent.setF(current.getF()+a.getDistance());
}else if(adjacent.getF() == current.getF()+a.getDistance()){
//如果相等于把其放入到open 表中,以便能搜索多条最短路径
//主要的策略是复制一个节点,并把这个节点放入到候选的open表中作为
//又一个候选节点
Node dup = new Node(adjacent.getName());
dup.setParenet(current);
dup.setF(current.getF()+a.getDistance());
dup.setLinks(adjacent.getLinks());
open.add(dup);
}//end For
}//end while
ArrayList&ArrayList&Node&& path = new ArrayList&ArrayList&Node&&();
Node pathNode =
ArrayList&Node& result = new ArrayList&Node&();
while(pathNode != null){
result.add(pathNode);
pathNode = pathNode.getParenet();
Collections.reverse(result);
path.add(result);
//找到多条最短的路径
for(Node node:open){
ArrayList&Node& temp = new ArrayList&Node&();
if(node.equals(des)){
while(node != null){
temp.add(node);
node = node.getParenet();
Collections.reverse(temp);
path.add(temp);
浏览: 95421 次
来自: 北京
Jenercy 写道目测没用。TimeOutThread抛出的 ...
目测没用。TimeOutThread抛出的TimeoutExc ...
我理解长连接就是链路要维持着,怎么能一次写入就关闭了呢?你可以 ...
bruce.yuan 写道没明白你这是要干嘛主要就是记录下 如 ...
没明白你这是要干嘛}

我要回帖

更多关于 米诺地尔有用吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信