穷举法就是通过把需要解决问题的所有可能情况逐一试验来找出符合条件的解的方法。
对于许多毫无规律的问题而言,穷举法用时间上的牺牲换来了解的全面性保证,尤其是随着计算机运算速度的飞速发展,穷举法的形象已经不再是最低等和原始的无奈之举,比如经常有黑客在几乎没有任何已知信息的情况下利用穷举法来破译密码,足见这种方法还是有其适用的领域的。
可是,在实际生活中,只有很少的一些问题是真正意义上的“毫无规律”,其余的大多数仍有内在规律可循,对于这些问题,使用穷举法在效率上就显得比较低下,而在一些对速度要求较高的区域和规模较大的问题上,效率的低下往往是致命的。

1、顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行;
2、选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程;
3、循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为以下两种形式,先判断后执行的循环结构和先执行后判断的循环结构。
1、算法首先必须正确,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出。
2、算法必须是由一系列具体步骤组成,并且每一步都能够被计算机所理解和执行,而不是抽象和模糊的概念。
3、每个步骤都有确定的执行顺序,即上一步在哪里,下一步是什么,都必须明确,无二义性。
4、算法的步骤必须有限,在任何情况下算法都不能陷入无限循环。
算法的定义:算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。
一个算法应该具有以下五个重要的特征:
1、有穷性: 一个算法必须保证执行有限步之后结束;
2、确切性: 算法的每一步骤必须有确切的定义;
3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。