穷举算法

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

基本思想

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

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

鸡兔同笼问题

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

    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);
            }
        }
    }
    AI 代码解读

韩信点兵

  • 韩信知道部队人数大约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);
            }
        }
    }
    AI 代码解读
目录
打赏
0
0
0
0
1146
分享
相关文章
|
2月前
|
算法系列之贪心算法
在算法中,贪心算法(Greedy Algorithm)是一种常见的解决优化问题的算法。贪心算法的核心思想是:在每一步选择中都采取当前状态下最优的选择,即贪心的做出局部最优的决策,从而希望最终能够得到全局最优解。尽管贪心算法并不总是能够得到全局最优解,但在许多实际问题中,它能够提供足够好的解决方案,并且具有较高的计算效率。
62 7
算法系列之贪心算法
深度优先算法
深度优先算法
95% 的算法都是基于这 6 种算法思想 (详细介绍)
95% 的算法都是基于这 6 种算法思想 (详细介绍)
240 4
算法怎么算:贪心算法
注意:这里是期望最优,而非必定最优。也就是说存在期望落空的情况。而在这种情况下,贪心算法,并非最优解。
112 0
算法基础课第八章动态规划和贪心算法
算法基础课第八章动态规划和贪心算法
133 0
算法基础课第八章动态规划和贪心算法
秒懂算法 | 哈夫曼编码贪心算法
讲解哈夫曼编码算法的贪心策略及正确性证明。
685 0
秒懂算法 | 哈夫曼编码贪心算法
【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分
【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分
131 0
【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等