算法 -- 算法相关知识

  1. 算法相关知识
    1. 算法复杂度
    2. 时间复杂度
    3. 空间复杂度
  2. 数据结构

算法相关知识

算法复杂度

算法的时间复杂度和空间复杂度合称为算法的复杂度

时间复杂度

时间频度:在假设执行一个语句的时间是固定的情况下,一个算法的语句执行次数称为语句频度或时间频度,为 T(n)

时间复杂度:在刚才的时间频度中,n 是问题的规模,n 不断变化的时候,T(n)也会不断变化,我们想要知道它的规律的话,引入了时间复杂度的概念。就是对于随着 n 的不断变大,T(n)/f(n)为一个不等于 0 的常数。于是 f(n)就是 T(n)的同数量级函数。记做 T(n) = O(f(n))。O(f(n))就是算法的渐进时间复杂度。很多时间频度不同的时候,但是时间复杂度可能是相同的。

最坏时间复杂度:最坏情况下的时间复杂度,就是实例运行时间的上界,默认情况下就是大 O 了。

最好时间复杂度:最好情况下的时间复杂度,就是 Ω。

如果一个时间复杂度既是 O,又是 Ω,那就可以称为就是 Θ。

平均时间复杂度:就是所有的可能输入实例均以等概率出现的情况下,算法的期望运行时间。

(1)Θ(西塔):紧确界。 相当于”=”

(2)O (大欧):上界。 相当于”<=”

(3)o(小欧):非紧的上界。 相当于”<”

(4)Ω(大欧米伽):下界。 相当于”>=”

(5)ω(小欧米伽):非紧的下界。 相当于”>”

空间复杂度

空间复杂度是指完成一个程序所需内存的大小。

利用程序的空间复杂度,可以对程序的运行需要的内存数有个预先估计。

数据结构

##


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com

文章标题:算法 -- 算法相关知识

文章字数:475

本文作者:泽鹿

发布时间:2019-08-28, 16:45:23

最后更新:2019-08-28, 16:45:23

原始链接:http://panyifei.github.io/2019/08/28/读书笔记/算法/算法相关知识/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏