本文主要是介绍算法分析之初步接触,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
什么是算法?算法就是描述问题的解决方法,是解决特定问题求解步骤的描述,在计算机中表现为指令的有序序列,并且每一条指令表示一个或多个操作。
怎么描述算法?算法的描述可以采用自然语言描述、伪代码(类语言)、程序流程图、程序语言设计(C、C++、Java语言等)。
算法特性:有穷性、确定性、可行性、零个或多个的输入和一个或多个的输出。
一个好的算法会给程序带来程序运行效率高的好处。我们通常用算法效率和存储空间来衡量算法的好坏优劣。
(1)算法效率:通过算法编制的程序在计算机上的运行时间来衡量;
(2)存储空间:通过算法在执行过程中所占用空间的最大存储空间来衡量。
一、算法设计原则:
1、正确性:输出输入无歧义,能反映正确结果和需求。首先程序语法无误;其次几组输入数据所得到的输出应满足需求;最后程序对一切合法的输入均能得到满足要求结果
2、可读性:算法设计易于阅读和交流
3、健壮性:对不合法输入数据应有相应处理
4、高效率和低存储量
二、算法效率的评价:
(1)事后统计方法
(2)事前分析估计方法
三、时间的复杂度:T(n)=O(f(n)),随着问题规模n的增大,算法的执行时间的增长率和f(n)的增长率相同,也叫算法的渐进时间复杂度。
常用的时间复杂度所耗费的时间(从小到大):O(1)<O(log2n)<O(n)<O(n2)<O(n3)<O(2的n次方)<O(n!)
四、空间复杂度:S(n)=O(f(n)),n为问题规模,f(n)为语句关于n的所占存储空间的函数。
❤永葆一颗纯洁、宽容平和、仁慈谦卑和意气风发的心!
态度决定一切 努力改变命运
这篇关于算法分析之初步接触的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!