算法定义

定义: 算法是解决特定问题求解步骤的描述,在计算机表现喂指令的有序序列,并且每条指令表示一个或多个操作。

算法特性: 输入,输出,有穷性,确定性,可行性

有穷性: 算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每个步骤在可接受的时间内完成。

确定性: 算法的每一步骤都具有确定的含义,不会出现二义性。

可行性: 算法每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成。

算法设计要求: 

确定性: 算法至少应该具有输入,输出和加工处理无歧义性,能正确的反映问题,得到正确答案

可读性: 便于阅读,理解,交流

健壮性:当输入数据不合法时,算法也能做出相关的处理,而不是产生异常或者莫名其妙的结果

时间效率和存储量低

时间复杂度

随着n 增大,T(n) 增长最慢算法喂最优算法。

分析时间复杂度: 

推导大O阶:

1、用常数1取代运行时间中的所有加法常数

2、在修改后运行次数函数中,只保留最高阶

3、如果最高阶存在且不是1,则去除这个项相乘的常数,得到的结果就是大O 阶

常数阶: 执行时间恒定的算法,我们称之为具有O(1) 的时间复杂度,不会随着n的变化而发生变化。

空间复杂度:通过计算算法所需的存储空间实现,算法空间复杂度的计算公式记作S(n) = O(n),其中,n 为问题的规模

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址:http://theory.stanford.edu/~amitp/GameProgramming/ 1...
    达微阅读 19,785评论 0 28
  • 算法复杂度 时间复杂度 空间复杂度 什么是时间复杂度 算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗...
    KODIE阅读 8,542评论 0 9
  • 转自:http://blog.csdn.net/zolalad/article/details/11848739 ...
    王帅199207阅读 5,716评论 1 3
  • 影响记忆的三大元素 1.重复性 多次重复的内容容易记忆 2. 特殊性 人们容易记住与众不同的事物 3. 关联性 把...
    玥辰_dae7阅读 4,645评论 0 2
  • 十月十日 北京 谁说悲伤可以复原 有时在黑夜里享受一杯浓郁的清茶也是一件很惬意的事情。我总是喜欢把茶揉碎放入杯中,...
    小售阅读 1,605评论 1 0