美文网首页
分治算法

分治算法

作者: jiamjg | 来源:发表于2019-01-08 22:19 被阅读0次

使用分治法设计程序时,一般可按以下步骤进行:

  1. 分解:将要求解的问题划分成若干规模较小的同类问题。
  2. 求解:当子问题划分得足够小时,用较简单的方法解决。
  3. 合并:按求解问题的要求,将子问题的解逐层合并,即可构成最终的解。

乒乓球比赛赛程安排

运行过程:

  1. 由初始化的第一行填充第二行。


  2. 第一部分填完,进行第二部分的填充。


  3. 最后是第三部分的填充。


import java.util.Scanner;

public class pingPang {
    static int table[][]=new int[10][10];
    public static void f(int x,int y,int num) {
        if(num==1)
            return;
        num/=2;
        f(x,y,num);
        f(x+num,y,num);
        for(int i=0;i<num;i++) {
            for(int j=0;j<num;j++) {
                table[x+i+num][y+j+num]=table[x+i][y+j];
                table[x+i][y+j+num]=table[x+i+num][y+j];
            }
        }
    }
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        for(int r=1;r<=n;r++) {
            table[r][1]=r;
        }
        f(1,1,n);
        for(int i=1;i<=n;i++) {
            for(int j=1;j<=n;j++) {
                System.out.print(table[i][j]+" ");
            }
            System.out.println();
        }
    }
}

相关文章

  • 分治算法

    文章结构 如何理解分治算法 分治算法应用举例 1. 如何理解分治算法 1.1 分治算法的核心思想 分治算法的核心思...

  • 算法导论第2.3章 - 分治算法

    分治算法 递归:算法一次或多次递归地调用其自身已解决紧密相关的若干子问题。这些算法遵循分治法的思想。 分治算法三个...

  • 从分治算法到 MapReduce

    从分治算法说起 要说 MapReduce 就不得不说分治算法,而分治算法其实说白了,就是四个字 分而治之 。其实就...

  • Leetcode-Java(二十五)

    241. Different Ways to Add Parentheses 采用分治算法,分治算法的基本思想是将...

  • 09《算法入门教程》分治算法

    1. 前言 本节内容是分治算法系列之一:分治算法的介绍,主要介绍了分治算法的定义及基本思想和实现策略,然后我们介绍...

  • 分治算法

    理解分治算法 分而治之

  • 分治算法

    分治是一种思想体现,就是把一个大的问题分为若干个子问题,这些子问题相互独立且与原问题性质相同然后在子问题继续向下分...

  • 分治算法

    分治算法字面意思就是将一个复杂的数据进行分开计算,分治 的策略就是: 一个分治法将规模为n的问题分成k个规模为n/...

  • 分治算法

    http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741...

  • 分治算法

    分冶算法的基本思想是将原问题分解为几个规模较小的但类似原问题的子问题,递归地求解这些了问题,然后再合并这些子问题的...

网友评论

      本文标题:分治算法

      本文链接:https://www.haomeiwen.com/subject/tfmulqtx.html