算法就是计算机求解的步骤和规则,包括输入,输出。
算法满足5个特性:
·输入
·输出
·有穷性,在时间上能够终止的,操作系统就不满足,当操作系统没有执行的任务时候,并没有终止,而是等待下一个任务;
·确定性,无二义性,每一个语句都有确定的定义;
·能行性,可以用基本的语句表示出来,算法的可行性,比如彩票的预测,是不可行的;几何的证明,计算机业很难实现;
问题可以分为:可行性和不可行性,可行性和复杂性,
算法分析的体系结构:通用计算机结构,冯诺依曼机,串行计算,随机存储;
算法的分析:时间复杂度和空间复杂度;
首先要记录语句的频数计数,基本语句的执行时间是一定的,所以算法的时间复杂度即为频数计数*C的求和;
如何确定算法的正确性:
目前,算法的正确性证明还没有太大的突破,所以测试在正确性证明上起到很大的作用,但是测试只能说明还没有测出问题,不能说明不存在问题;
计算时间:多项式时间(C, n, nlogn, n^2, n^m……),指数时间(2^n, n!, n^n)
算法的分析,当频数计数达到一定规模的时候,才分析