当前位置: 首页 > news >正文

科技公司php网站模版龙华属于深圳哪个区

科技公司php网站模版,龙华属于深圳哪个区,常用个人网站,小白建设论坛网站同Kruskal算法一样,Prim算法也是最小生成树的算法,但与Kruskal算法有较大的差别。 Prim算法整体是通过“解锁” “选中”的方式,点 -> 边 -> 点 -> 边。 因为是最小生成树,所以针对的也是无向图,所以可以随意…

同Kruskal算法一样,Prim算法也是最小生成树的算法,但与Kruskal算法有较大的差别。
Prim算法整体是通过“解锁” + “选中”的方式,点 -> 边 -> 点 -> 边
因为是最小生成树,所以针对的也是无向图,所以可以随意选取一个点作为进入点,通过解锁这个点,可以获得从这个点出去的所有边,在通过这些边中权重最小的边解锁其他的点。如此反复。直到最小生成树的形成。
如图所示:
左侧为原始图,从a点出发(哪个点都可以,假设从a),解锁了a点(解锁的点画圈),并且解锁了从a点直接出发权重为1,2,9的三条边(边解锁为虚线),根据权重选择1的边(选择具体边改颜色)。并解锁了b点。
在这里插入图片描述
通过解锁的b点,可解锁权重1,3,4,9的边,此时bd边的权重最小为1,所以解锁了d的点。
在这里插入图片描述
解锁d后,d直接出来的边4也会进行解锁。再次选择权重较小的为2,但是此时d已经解锁过了,所以不考虑2,再次选择be为3的边解锁。
在这里插入图片描述
此时解锁后图形如上面所示,e点解锁后会解锁权重6、7的边。
在这里插入图片描述
此时所有的边都已经解锁,选择权重小的边,并且不会形成环的点,进行解锁。
最终去掉所有没被选择的边,剩余的就是最小生成树。
在这里插入图片描述
总结

  1. 最小生成树是要用最小距离接所有可达的点。
  2. 所以,随机的每一个点,在获取这个点所有的边中选取权重最小的 那一条边,组织起来就一定会是最小生成树组成的答案。

代码实现
基于上面图解是代码实现。点 > 边 -> 点 -> 边的解锁方式。
最外层的for循环可防“森林”。 a -> b c ->d e->f,a可以找到b,c可以找到d, e可以找到f。但是a c e之间互相没关系。

public static class EdgeComparator implements Comparator<Edge> {@Overridepublic int compare(Edge o1, Edge o2) {return o1.weight - o2.weight;}}public static Set<Edge> primMST(Graph graph) {//放入PriorityQueue中,并根据边的权重进行排序PriorityQueue<Edge> priorityQueue = new PriorityQueue<>(new EdgeComparator());//解锁的点Set<Node> setNodes = new HashSet<>();//构成最小生成树的所有边Set<Edge> result = new HashSet<>();//遍历图集中所有的点for (Node node : graph.nodes.values()) {//如果没解锁if (!setNodes.contains(node)) {setNodes.add(node);//将点的所有的边,放到PriorityQueue中排序for (Edge edge : node.edges) {priorityQueue.add(edge);}while (!priorityQueue.isEmpty()) {Edge edge = priorityQueue.poll();//获取到这个边连接的to点Node toNode = edge.to;if (!setNodes.contains(edge.to)) {//解锁to点setNodes.add(toNode);result.add(edge);//并且将to点所有的边也都放到Queue中for (Edge nextEdge : toNode.edges) {priorityQueue.add(nextEdge);}}}}//如果防森林,就不break break;}return result;}
http://www.yayakq.cn/news/323140/

相关文章:

  • seo网站优化培训找哪些山东省城乡住房建设厅网站
  • 温州设计网站建设二级域名免费分发
  • 太原企业模板建站网店美工分为几个级别
  • 做肥料网站中国企业500强榜单2021
  • 做网站培训班html教程软件
  • 如何查询网站备案时间wordpress前台投稿
  • 织梦网站自动跳转手机网站网站备案号取消原因
  • 郑州网站开发招聘武当王也
  • 备案期间网站能访问吗网络黄页推广软件
  • 小米手机网站的风格设计wordpress 代码 格式
  • 南昌网站建设兼职铜城建设集团网站
  • 网站服务器维护 价目表如何做产品网站网页设计
  • 中小学生教育网站建设方案网站开发系统架构图
  • 杭州市拱墅区建设局网站h5模板下载有哪些网站
  • 建设银行大连市分行网站wordpress自动
  • 网站建设验收方发言稿农村一层自建房
  • 合肥商城网站建设国家高新技术企业公示
  • 做网站要多少的服务器电商网店怎么做
  • 网站建设从哪入手软件工程师一个月工资多少
  • 江苏靖江苏源建设有限公司网站网站死链接怎么处理
  • 网站建设价格单文化建设的名言警句
  • 陇南市建设局网站怎样做视频电影网站
  • 权重高的网站是几wordpress好的插件推荐
  • 怎么做 niche网站个人网站备案号可以做企业网站吗
  • 西安网站优化体验php网站开发设计要求
  • 网站优化用什么软件好的公众号
  • 海口高端网站建设温州企业网站seo
  • cms电影网站模板网站建设的服务器
  • 上海网站建设 建站猫c 做网站起什么作用
  • 制图网站百度关键词网站怎么做