Too young, too simple. Sometimes, naive & stupid

穷举

穷举的基本思想

  • 穷举法(Exhaustion),也成枚举法(Enumeration)
    • 列举所有可能,逐一试探
  • 基本思想
    • 根据问题的==部分==已知条件预估解的范围
    • 在此范围内对所有可能的情况进行逐一验证
      • 若某个情况符合题目的全部条件,则该情况为本问题的一个解
      • 若全部情况的验证结果均不符合题目的全部条件,则说明该题无解
    • 直到找到满足已知条件的解为止

穷举法求解问题的两个基本要素

  • 影响算法的时间复杂度

    • 影响算法的时间复杂度
    • 循环结构实现
  • 确定判断条件

    • 复合什么条件才能成为问题的答案
    • 分支结构实现

穷举法的实际应用

  • 常用语密码破译
    • 将所有可能的密码逐个尝试,知道找出真正的密码为止
  • 也称蛮力法(Brute Force),或暴力搜索法
    • 理论上利用这种方法可破解任何一种密码,问题在于如何缩短试误时间

穷举法的特点

  • 优点
    • 优点:算法简单,逻辑清晰,易于理解,程序易于实现
  • 缺点
    • 预算量较大
    • 只适合于“有几种组合”、“是否存在”、求解不定方程等类型的问题求解