zoukankan      html  css  js  c++  java
  • 求一个有向无换图中,最长简单路径。动态规划问题15-1

    package com.li.chapter15.Prictice;
    
    /**
     * 练习题1: 求有向无环图两点路径的最大值。
     *
     * 思路: 给定有向无环图的矩阵, 从1-n的最长距离,2-n的最长距离...
     *
     * maxLength[i,j]=maxlenth[i,j-1]+length[j]  //length[j]是与终点相连的很多点之一。最大的一个。
     */
    public class Question01 {
    
        public static void main(String[] args){
            int[][] matrix = {{0,2,3},{0,0,2},{0,0,0}};
            maxLength1(matrix);
        }
        /**
         *方法1
         * @param matrix 有向无换图的矩阵表示
         */
        public static void maxLength1(int[][] matrix) {
            int[][] maxLength=new int[matrix.length][matrix[0].length];  //存储i到j的最长距离
            for (int i = 0; i < matrix.length; i++) {
                maxLength[i][0] = 0;  //每个节点到初始节点都为0
            }
    
            for (int i = 1; i < matrix.length; i++) {
                for (int j = 0; j < matrix[0].length; j++) {
                    if (i == j) {
                        maxLength[j][i]=0;  //因为无环
                        continue;
                    }
                    //j到i;
                    int length = matrix[i].length;//遍历,第i个节点相邻的节点
                    maxLength[j][i]=Integer.MIN_VALUE;
                    for (int k = 0; k < i; k++) {
                        int value=maxLength[j][k]+matrix[k][i];
                        if (value > maxLength[j][i]) {
                            maxLength[j][i]=value;
                        }
                    }
                }
    
            }
            for (int i = 0; i < maxLength.length; i++) {
                for (int j = 0; j < maxLength[0].length; j++) {
                    System.out.print(maxLength[i][j]+"        ");
                }
                System.out.println("");
            }
        }
    
    
    }
  • 相关阅读:
    保证在浏览器上word/图片/Excel的下载的表现形式一样
    C学习笔记 知识集锦(二)
    函数返回值
    C++ 四种新式类型转换
    构造&析构
    指针与引用
    C++三大特性 封装 继承 多态
    Git stash 常见用法
    Git branch && Git checkout常见用法
    linux Vi使用
  • 原文地址:https://www.cnblogs.com/liyafei/p/9127188.html
Copyright © 2011-2022 走看看