- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA编程语言程开发技术Dijkstra
以下资料为广州java培训整理
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。 Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表方式 用OPEN,CLOSE表的方式,其采用的是贪心法的算法策略,大概过程如下: 1.声明两个集合,open和close,open用于存储未遍历的节点,close用来存储已遍历的节点 2.初始阶段,将初始节点放入close,其他所有节点放入open 3.以初始节点为中心向外一层层遍历,获取离指定节点最近的子节点放入close并从新计算路径,直至close包含所有子节点 代码实例如下: Node对象用于封装节点信息,包括名字和子节点 [java] public class Node { private String name; private MapNode,Integer child=new HashMapNode,Integer(); public Node(String name){ =name; } public String getName() { return name; } public void setName(String name) { = name; } public MapNode, Integer getChild() { return child; } public void setChild(MapNode, Integer child) { this.child = child; } } MapBuilder用于初始化数据源,返回图的起始节点 [java] public class MapBuilder { public Node build(SetNode open, SetNode close){ Node nodeA=new Node(A); Node nodeB=new Node(B); Node nodeC=new Node(C); Node nodeD=new Node(D); Node nodeE=new Node(E); Node nodeF=new Node(F); Node nodeG=new Node(G); Node nodeH=new Node(H); nodeA.getChild()。put(nodeB, 1); nodeA.getChild()。put(nodeC, 1); nodeA.getChild()。put(nodeD, 4); nodeA.getChild()。put(nodeG, 5); nodeA.getChild()。put(nodeF, 2); nodeB.getChild()。put(nodeA, 1); nodeB.getChild()。put(nodeF, 2); nodeB.getChild()。put(nodeH, 4); nodeC.getChild()。put(nodeA, 1); nodeC.getChild()。put(nodeG, 3); nodeD.getChild()。put(nodeA, 4); nodeD.getChild()。put(nodeE, 1); nodeE.getChild()。put(nodeD, 1); nodeE.getChild()。put(nodeF, 1); nodeF.getChild()。put(nodeE, 1); nodeF.getChild()。put(nodeB, 2); nodeF.getChild()。put(nodeA, 2); nodeG.getChild()。put(nodeC, 3); nodeG.getChild()。put(nodeA, 5); nodeG.getChild()。put(nodeH, 1); nodeH.getChild()。put(nodeB, 4); nodeH.getChild()。put(nodeG, 1); open.add(nodeB); open.add(nodeC); open.add(nodeD); open.add(nodeE); open.add(nodeF); open.add(nodeG); open.add(nodeH); close.add(nodeA); re
您可能关注的文档
- icp直读光谱仪和外分光光度计价格.docx
- ICU床旁纤维支气镜标准操作流程.doc
- ic卡淋浴节水控制介绍及分析.doc
- ic测试架和电动电支架价格.docx
- ID429-房地产控政策的经济学分析与反思.doc
- ID474-房价与业结构优化升级关系实证研究.doc
- ideaPad Yga 11S AIDA销售法的 考试答案.doc
- IE8浏览器:你未知道的九大功能.doc
- IEEE 802.x模块指南.docx
- Ielts--wrting sample band 7.doc
- 2025四川南充市公路管理局南充市水务局遴选3人笔试备考题库附答案解析.docx
- 2025年清水河县事业单位联考招聘考试历年真题完美版.docx
- 2025年正安县事业单位联考招聘考试历年真题完美版.docx
- 2025年金沙县事业单位联考招聘考试真题汇编新版.docx
- 2025年乐业县辅警招聘考试真题汇编及答案1套.docx
- 2025年新龙县事业单位联考招聘考试历年真题附答案.docx
- 2025年淮阳县事业单位联考招聘考试历年真题含答案.docx
- 2025年紫金县事业单位联考招聘考试真题汇编含答案.docx
- 2025年永福县事业单位联考招聘考试历年真题推荐.docx
- 2025年睢县事业单位联考招聘考试历年真题含答案.docx
原创力文档


文档评论(0)