算法的特征:
1.输入
2.输出
3.确切性
4.有穷性
好的算法的衡量标准
1.正确性
算法应该满足具体问题的需求,通过某种输入能够得到特定的输出。解决相应的问题。
2.可读性
算法是联系数学建模和程序的桥梁,可读性好有助于人对算法的理解。现代计算机软件设计,往往需要团队协作,代码可读性强的算法能够促进团队交流,提高开发效率。
3.健壮性
算法对于异常情况要有充分的考虑和处理。
4.效率高和存储量少
算法需要在一定的时间结束,同时算法必须在一定的内存空间运行。
枚举法
枚举法又称穷举法。指的是从可能的解的集合中一一枚举各元素,用给定的检验条件判断哪些事无用的,那些是有用的。能是命题成立,即为其解。这是最直观的的算法,也是最容易想到的算法。
美剧算法本质上属于搜索算法。但是他和搜索有所不同,因为
枚举法求解的问题必须满足两个条件
1、可预先确定解的个数N;
2、解变量a1/a2/a3///an的值的可能变化范围预先确定。
因此,一把来说,如果预先对问题确定了解的个数以及各个解的值域,则可以利用for循环语句和条件判断语句逐步求解或证明。
枚举法的特点是算法简单,对于可确定解的值域又一时找不到其他好的算法时就可以用它。
缺点:比较笨拙,原始的方法。运算量大。时间复杂度是指数级别。
对于枚举法也不要过于悲观,从全局观点使用枚举法,计算量容易过大。但是如果能够排除那些明显不属于解集的元素,在局部地方使用枚举法,其效果会十分显著。