[Java的 – 算法] 仿真Dijkstra算法找到最短路径
关于算法, 你可以回头看看帖子 找到最短路径的Dijkstra, 弗洛伊德. 本文中,我将向你介绍的模拟程序Dijkstra算法与基于Java的图形, 这也是他们的训练馆的主题.
更新日期 23/05/2015: 在Windows上修正了不加载图标.
该计划允许用户快速,轻松地绘制图形, 点可以拖动和拉, 抹去, 编辑三费 (重量), … 或者您可以使用在演示中可用的图形. 而运行时,会显示下面和日志图赛道. 底部有一个表来描述,当手动完成的,我们需要做的,找到最短路径工作. 该方案还使我们能够保持图形, 开放式图形保存. 其实,说这还长, 我想说的程序的功能在长视频 7 以下分钟.
注*要运行jar文件,你需要安装JDK机器.
所有查询, 建议请 连接的 直接到您的电子邮件.
参考: 我的产品
谢谢!
你问自己是程序的代码,什么是实现Dijkstra算法功能?
令人失望的是,当代码没有经验,不适合在代码注释.
您可能会注意到类MyDijkstra 2 Dijkstra算法的功能和dijkstraStep. 这是 2 这种做法功能和算法来实现逐步算法. 2 相应的功能是tracepath的和tracePathStep跟踪路由跟踪和路径一步.
Ë问位是j是如何先生chtrinh说明?
他们表明你. 您可以在这篇文章的底部下载.
必须应用他的贪心算法?
这是该Dijkstra算法
Dijkstra算法是基于 “贪心算法” 您. 的本质是, 不是通过它仅适用于图表. 我看见你也没什么不好的问题. Floyd-Warshall算法是基于 “动态规划” 但.
亲爱的. Ë正在研究的Dijkstra用C ++算法. E组运行,但运行插入码矩阵.txt文件读取方式. Ë希望他们做一个TN先生来绘制小时?
如果使用C,你应该学会它,图形在新的做.
你可以参考这个帖子, 或在末端阅读材料,该图形用C
https://www.cachhoc.net/2013/10/03/cc-do-hoa-trong-dev-c/
亲爱的. 但E制备的C ++. 视觉上的发动机运行. phải làm tn ạ?
Cái này thì mình không rõ rồi. Mình không dùng nó bao giờ cả :3
anh có mô phỏng bằng C# không anh?
Mình không có demo trên C# bạn ah 🙂
anh có thể cho e xin link down jdk được không, e có cài mấy lần mà không mở được bản demo này của anh, em toàn học C# nên gà khoảng java này quá 😀
Ban vao day: http://www.oracle.com/technetwork/java/javase/downloads/index.html
服务员, em cài java xong, thì khi mở java, hiện bảng java control panel, e phải làm gì tiếp theo vậy a?
所以,现在你想干什么? :在
Dijkstra.jar他们的文件下载,但没有运行, 还不如图示
您的评论已成功地查看jdk安装芽, 以确保您观看视频的说明:
亲爱的我询问如何运行这个文件可能会在日食的jdk,然后一个已经安装.
为什么不能运行啊. 你试试,看看有什么程序没有错误?
nó báo lỗi unable to access jarfile này ah.e mở file dijkstra.jar không được anh. 帮我. e đang cần làm báo cáo ạ
bạn liên hệ face mình nhé. mình teamview cho.
fb.com/nguyenvanquan7826
anh cho e xin link hoc do hoa java.nhu baj tren a lam voi !
e cam on..
Mình học trong giáo trình của trường với google những gì không biết thôi, ngày trước cũng bookmark 2,3 link đồ họa đơn giản nhưng cài lại máy bị mất rồi. Bạn chịu khó google là được mà 😀
然后下载JDK宠儿, 他然后程序下载, 如何在这里开设自己的程序, 我不知道怎么打开, 下载文件解压药房 1 Dijkstra算法命名的文件夹用 1 RAR文件名为Dijkstra.rar
他亮出了自己的快速回复, 这是你需要什么折!
下载提取物会 1 目录 1 文件中像这样. 这是源文件夹, 您可以导入到Eclipse中看到, 修复, 发展的. File .jar là file có thể chạy. Muốn chạy được bạn cần cài jdk vào. Còn việc chạy hay cài thế nào bạn google nhá 😉
Lưu ý là có thể máy bạn sẽ không hiện đuôi file nhưng nó vẫn là 1 目录 1 file chạy như ảnh nhé.
thế em muốn mở file jar đó bằng cách nào hả anh, nhấn đúp chuột là được à, mà anh đang xài hệ điều hành ubuntu à, của em là windows 7, phải là ubuntu mới mở được hả anh
Win hay ubuntu thì cũng thế mà :3
á..mình tìm được cái này rồi..bạn ơi cho mình xin cái lưu đồ thuật toán với được ko :((
流程图算法???
Bạn hiểu được nó là khắc vẽ được, cái này mình cũng vẽ cho nữa thì….
mình học tệ lập trình thiệt mà ..vẽ dùm mình đi..năn nỉ đó..:((
我的朋友…giúp mình đi mà cho mình cái lưu đồ đi 🙁
Bạn xem tại đây nhé
http://vi.wikipedia.org/wiki/Th%E1%BA%A3o_lu%E1%BA%ADn_Th%C3%A0nh_vi%C3%AAn:Ilen.khtn#L.C6.B0u_.C4.91.E1.BB.93_thu.E1.BA.ADt_to.C3.A1n.5B1.5D
Search google ra rất nhiều mà
ôi .cảm ơn ,谢谢,,cảm ơn ban nhiều thật nhiều nhé..bác cáo xong mời bạn 1 chầu hoa quả dầm nhé :))
Ôi xong, t biết bạn ở đâu mà đi ăn đây =))
mình có sdt bạn rồi mà..nhất định mời bạn 1 chầu..mà bạn ở đâu nhỉ :))
Mình trên Thái Nguyên 😉
他要求文件结尾随e DIJ为什么他创造了这么. em tìm hiểu hũm h mà chẳng hiểu
thế thì xa quá ha 🙁
bạn ơi cho mình hỏi thêm với..cái bài này của bạn giới hạn là bao nhiêu node thế nhỉ? ví dụ mình đi từ node 1 到 5 thì thời gian của nó có nhanh hơn 1 tới 10 ko vậy.nếu được thì trả lời mình sớm với nhá..cảm ơn bạn nhiều,嗨
Không giới hạn nhé, với số điển ít thì thời gian không có khoảng cách, nhiều điểm hơn chắc sẽ trễ chút.
bạn có thể cho mình địa chỉ facebook or đại loại gì không cho mình địa chỉ để mình hỏi vài điều chút 😀
Bạn có thể hỏi trực tiếp ở đây mà 🙂
服务员, anh có nguồn download phần mềm này không ạ? anh có thể cho em được không ạ! cảm ơn anh trước!
Mã nguồn ở cuối bài viết đó bạn
bạn ơi b có ctrinh chạy bằng c không.cho mình tham khảo với
Bạn xem tại đây nhá https://cachhoc.net/2013/10/13/thuat-toan-tim-duong-di-ngan-nhat-dijkstra-floyd/
Cho mình xin mã nguồn được không ạ, down theo link trên chỉ có phần file thực thi 😀
Mã nguồn ở bên dưới nhé bạn.
大家好,我的朋友都知道你的文章页面 https://www.cachhoc.net/2014/06/14/java-thuat-toan-mo-phong-thuat-toan-dijkstra-tim-duong-di-ngan-nhat/
你可以帮助这个不是我的问题. 当你在Soude nguyenvanquan7826重命名你的包放到AI代码不可读文件演示(宣布,演示文件中读取埃罗). 你可以帮助自己是不是. 改变自己到demo.dat文件nguyenvanquan7826 - > AI仍然不. 期待您的帮助,谢谢 . 您可以发送电子邮件至 nguyenhaidang200291@gmail.com 刚修好自己不
回答你的邮件NHE.
你不应该打开的jar文件, 你很属性 – 权限. 蜱 “允许执行文件作为程序” 运行畅快^^
谢谢.
如果您想了解更多 1 上一页按钮 – 解开 1 步骤 + 1 自动跟踪按钮自定义的速度必须写事件是如何让他 ? 一个Java新手问题^^!
你在代码中看到的东西会看到一个步函数K. 您单击向上和向下下一页上一页k是DJK.
所以也希望程序根据速度自动运行,可以禁止他如何必须再次暂停?
您还依赖于模式.
他可以演示样本,以便你有更好的想法是不? 我太鸡暗淡-_- 前TKS他^^
我只是建议像你多个帐户的名字,但现在我不记得在哪看到所有DJK代码,并再次这样做. 几年以前,…
所以,我需要创建一个方法runPrev(), drawPrev(),… 类似runStep() 不?
由你. 您编程它认为必要或不是因为你.
如果你从这个项目要开发更多的找到最小生成树,他可能会建议你做不 ?
生成树还没有作出了有史以来最小的,所以不要承诺你是
难道上一页, 谢谢你的建议^^ . 这个过程会不断打击下一次运行,如何发挥它自己下一步按钮,他们不需要那么点击下一步? 你看 1 使用THEAD一些例子来睡觉来调整速度,但在他的代码不使用线程@@!
我写的最小生成树算法=克鲁斯卡然后他的申请制定myDraw图是怎么回事 ?
公共类MyMSTKruskal {
私人ArrayList的arrLineA =新的ArrayList();
私人ArrayList的arrLineE =新的ArrayList();
私人ArrayList的arrMyPoint =新的ArrayList();
INT p[];
INT sodinh, chiso = 0;
INT TongTS = 0;
INT socanh;
私人布尔地图类型= FALSE;
公共无效输入()
{
sodinh = arrMyPoint.size()-1;
socanh = arrLineE.size()-1;
为(INT I = 0;在<socanh;我 )
arrLineA.add(空值);
P = INT新[sodinh + 1];
的System.out.println("so dinh : "+sodinh);
为(INT I = 0;在<sodinh;我 )
{
P[在] =我;
}
的System.out.println("so canh : "+socanh);
为(INT I = 0;在<socanh;我 )
{
的System.out.println("nhap u : "+arrLineE.get(I 1).getIndexPointA());
的System.out.println("nhap v : "+arrLineE.get(I 1).getIndexPointB());
的System.out.println("nhap trong so : "+arrLineE.get(I 1).getCost());
}
}
公共无效排序()
{
Collections.sort(arrLineE, 新MyLineComparator());
// 为(MYLINE EMP : arrLineE){
// 的System.out.println(EMP);
// }
}
公共无效克鲁斯卡()
{
分类();
为 (INT I = 0; 在 < socanh; 我 )
如果(P[arrLineE.get(I 1).getIndexPointA()]!= P[arrLineE.get(I 1).getIndexPointB()])
{
arrLineA.set(chiso ++, arrLineE.get(I 1));
的System.out.println(arrLineA.get(在));
INT吨= MAX(P[arrLineE.get(I 1).getIndexPointA()],P[arrLineE.get(I 1).getIndexPointB()]);
INT K =分钟(P[arrLineE.get(I 1).getIndexPointA()],P[arrLineE.get(I 1).getIndexPointB()]);
P[arrLineE.get(I 1).getIndexPointA()]= P[arrLineE.get(I 1).getIndexPointB()]= K;
为(INT J = 0;Ĵ<sodinh;J )
如果(P[Ĵ]==Ť)
P[Ĵ]= K;
}
}
公共无效输出()
{
的System.out.println("cac canh can chon : ");
为(INT I = 0;IB) 返回;
否则返回b;
}
公众诠释分钟(一个INT, INT b)
{
如果(该<B) 返回;
否则返回b;
}
这是思维和逐步的艺术. 你必须独自思考.
他可以做的算法A * KO我,请与爵士
在所有的教科书星显示结果相似的步骤,当亲爱的初始化是极其先生? 非常感谢!
服务员, a có source code tìm đường đi chu trình euler k cho e ới
Anh không có 🙂
Anh ơi cho e hỏi đây có phải là đề tài đồ án giải thuật và lập trình không ạ , và đồ án là mình phải làm một chương trình có giao diện sử dụng như phần mềm của a vậy hả ? 🙂 , e chưa hiểu về đồ án cho lắm
Có thể coi là vậy, nhưng tùy cái mà có cần chương trình không. 🙂
A ơi Em đang làm về thuật toán này mà dùng matlab. A hỗ trợ em được k ạ
Matlab mình ko rõ nên không giúp được bạn rồi. Bạn cố gắng dựa vào tư tưởng để chuyển về code matlab nhé.
còn cái phần mềm trên là anh tự viết hay sao ạ
ukm 🙂
Anh ơi theo bài anh thì khi vẽ các đỉnh các đỉnh sẽ được gán theo thứ tự 1-2-3,.. 但现在我想改变顶部的A-B-C的顺序,…. v得到香港. 如果他们做任何v先生.
哦,我看到英国算法, 变量, 类MyDijkstra函数HK理解. 你能向我解释每个功能以及命令行香港先生. 我需要. 如果有一个写信E dkien先生
打开如何查看代码先生
你下载解压NHE.
甜姐儿运行故障下载
错误选择点或不更新图表崔点
你有没有起点或终点, 无论点击同步按钮,生成图纸或选择演示后图.
嘿,我怎么没有jar文件
您提取它会看到.
服务员….dijkstra算法a的局限性和发展方向是什么
您了解它并自己寻找.
请问怎么把权重图放到运行界面?