Java贪心算法之Prime算法原理与实现方法详解-创新互联

本文实例讲述了Java贪心算法之Prime算法原理与实现方法。分享给大家供大家参考,具体如下:

成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为万全企业提供专业的成都网站建设、做网站,万全网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

Prime算法:是一种穷举查找算法来从一个连通图中构造一棵最小生成树。利用始终找到与当前树中节点权重最小的边,找到节点,加到最小生成树的节点集合中,直至所有节点都包括其中,这样就构成了一棵最小生成树。prime在算法中属于贪心算法的一种,贪心算法还有:Kruskal、Dijkstra以及哈夫曼树及编码算法。

下面具体讲一下prime算法:

1、首先需要构造一颗最小生成树,以及两个节点之间的权重数组,在此我们用一个二维数组来代表这样一个连通图的形式。节点就是0~数组长度-1,10000代表节点本身,权重 >= 100代表两个节点不连通,反之连通。

构建连通图代码如下:

// 初始化连通图
public static void initGraph(int[][] graph, ArrayList points) {
    for(int i = 0 ; i < graph.length; i++) {
      points.add(i);
      for(int j = 0; j < graph[i].length; j++) {
        if(i == j) {
          graph[i][j] = 10000;
        }else {
          int temp = (int)(Math.random() * 200 +1);
          graph[i][j] = temp; // 大于等于100不连通, 小于100连通
        }
        graph[j][i] = graph[i][j];
      }
    }
}


新闻名称:Java贪心算法之Prime算法原理与实现方法详解-创新互联
文章路径:http://bzwzjz.com/article/cecees.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都商城网站建设 重庆网站建设 专业网站建设 移动手机网站制作 成都网站建设推广 手机网站制作 温江网站设计 高端网站设计推广 成都网站建设 成都响应式网站建设 企业网站建设 广安网站设计 营销网站建设 成都企业网站制作 成都商城网站制作 网站设计制作报价 网站制作 品牌网站建设 成都网站设计制作公司 LED网站设计方案 成都企业网站设计 重庆电商网站建设