zoukankan      html  css  js  c++  java
  • 常用算法思想复习之<穷举思想>


    1、概述

    穷举法,又称强力法,它是一种最为直接,实现最为简单,同时又最为耗时的一种解决实际问题的算法思想。

    其基本思想是:在可能得解空间中穷举出每一种可能得解,并对每一个可能进行判断,从中得到问题的答案。

    使用注意:一是解空间的划分必须保证覆盖问题的全部解。二是解空间集合及问题的解集一定是离散的集合。

    评价:穷举法用时间上的牺牲换来了解的全面性保证,适用于一些规模不是很大的问题的解决。

    2、应用实例

    例:问题:寻找1—100之间的素数

    解决这个问题最简便的方法就是使用穷举法。

    判断一个整数是否为素数的函数isPrime;

    View Code
     1 int isPrime(int n)
    2 {
    3 int temp = sqrt(n);
    4 for(int i=2; i<=temp; i++)
    5 {
    6 if(n % i == 0)
    7 return 0;
    8 }
    9 return 1;
    10 }

    得到素数的函数getPrime

    View Code
    1 void getPrime(int low, int high)
    2 {
    3 for(int i=low; i<=high; i++)
    4 {
    5 if(isPrime(i)
    6 cout<<i<<setw(3);
    7     }
    8 }
  • 相关阅读:
    Fence Repair(POJ 3253)
    Saruman's Army(POJ 3069)
    Best Cow Line(POJ 3617)
    一往直前!贪心法
    最基础的“穷竭搜索”
    Lake Counting(POJ 2386)
    Ants(POJ 1852)
    热身题
    分布式锁的三种实现方式
    Redis在实际开发中面临的问题
  • 原文地址:https://www.cnblogs.com/landy126/p/2375313.html
Copyright © 2011-2022 走看看