穷举算法

简介:
  • 这是最简单的一种算法,其依赖于计算机的强大计算能力,来穷尽每一种可能的情况,从而达到求解问题的目的,效率并不高,但是适合用于一些没有明显规律可循的场合

基本思想

  • 就是从所有可能的情况中搜索正确的答案,步骤如下

    • 对于一种可能的情况,计算其结果
    • 判断结果是否满足要求,如果不满足就执行第一步来搜索下一个可能的情况,如果满足要求,则表示寻找到一个可能的答案
  • 使用穷举算法时,需要明确问题的答案范围,这样才可以在指定范围内搜索答案,指定范围之后,就可以使用循环语句和判断条件逐步验证答案的正确性,从而得到需要的正确答案
  • 其实说这么多,就是用循环去遍历所有可能出现的结果

鸡兔同笼问题

  • 上有三十五头,下有九十四足,问鸡兔几何?
  • 一共有三十五只头,那么鸡最多有三十五只,剩下的就是兔的个数,所以核心的代码是很简单的

    private static void qiongJu(int head, int foot) {
        int rabbitCount = 0;
        for (int i = 0; i <= head; i++) {
            rabbitCount = head - i;
            if (rabbitCount*4 + i*2 == foot){
                System.out.println("兔子:"+rabbitCount+" 鸡:"+i);
            }
        }
    }

韩信点兵

  • 韩信知道部队人数大约1000人左右,具体数字不详,5人一组剩余1人,7个人一组还剩两个人,8个人一组还剩3个人,问这支部队有多少人?
  • 1000人左右也就是小于2000,所以这个范围就确定了,然后剩下的就是if判断了

    private static void hanxin() {
        for (int i = 0; i < 2000; i++) {
            if (i%5==1 && i%7==2 && i%8==3){
                System.out.println(i);
            }
        }
    }
目录
相关文章
|
算法 数据挖掘 调度
【算法分析与设计】贪心算法(下)
【算法分析与设计】贪心算法(下)
【算法分析与设计】贪心算法(下)
|
5月前
|
算法 Java 测试技术
算法分析(蛮力法与减治算法应用实验报告)
这篇文章是关于算法分析的实验报告,介绍了如何使用蛮力法解决背包问题,并通过伪代码和Java代码实现,同时分析了其时间效率;还介绍了基于减治法思想实现的二叉查找树的插入与查找,同样提供了伪代码、Java源代码实现和时间效率分析,最后展示了测试结果截图。
算法分析(蛮力法与减治算法应用实验报告)
|
8月前
|
算法 测试技术 C#
【状态压缩 动态规划 数论】1799. N 次操作后的最大分数和
【状态压缩 动态规划 数论】1799. N 次操作后的最大分数和
算法思维之穷举法
算法思维之穷举法
|
机器学习/深度学习 存储 算法
【算法分析与设计】贪心算法(上)
【算法分析与设计】贪心算法(上)
|
算法 搜索推荐 C++
穷举法
穷举法
144 0
穷举法
排列组合算法
排列组合算法
|
存储 自然语言处理 算法
三、算法与算法分析
三、算法与算法分析
三、算法与算法分析
蛮力法
蛮力法的主要思想就是用最简单的思路解决问题,一般性能不好,但仍然很重要。
|
机器学习/深度学习 自然语言处理 算法
算法与算法分析
算法与算法分析
134 0

热门文章

最新文章