数据结构--算法(时间复杂度和空间复杂度)

今天学习了数据结构中的算法,了解了算法中有2个概念【时间复杂度】、【空间复杂度】

顾名思义,意思和他们的名称差不多,时间复杂度,就是说算法在运行过程中所耗用的时间,而空间复杂度,则是算法运行过程中所占用的空间(内存、硬盘等等)。

时间复杂度的计算中,要求有一定的数学功底,比如给我们一串数字,我们能转换成相应的数学公式


在算法中我们怎么去衡量【时间复杂度】、【空间复杂度】的复杂级别呢,这里有一个专业名词叫大O阶。

推导大O阶方法:

1、用常量1取代算法中的所有加减法操作。

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

3、如果最高阶项存在的不是1,则去除与这个项相乘的参数。


下面我截取的一个例子


根据推导大O阶方法:

1、上面运行的次数3,用常量1表示。

2、没有最高阶


下面这个例子同上一个结果也是一样的


根据推导大O阶方法:

1、上面运行的次数12,用常量1表示。

2、没有最高阶


例子:


在这段程序中,会运行n/2次。

根据推导大O阶方法:

1、上面运行的次数n/2,不是常量。

2、最高阶,X=log2n。


再如下面平方阶的例子



一共循环n x n次

根据推导大O阶方法:

1、上面运行的次数n x n,不是常量。

2、最高阶,X=n2。


再看例子

根据推导大O阶方法:

这里要看我最后一个红框内容,他用到了推导方法中的第三点,如果最高阶项存在的不是1,则去除与这个项相乘的参数。

所以最终大O阶为:O(n2)


常见时间复杂度:


专业术语含义:

算法:

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


算法特性:

有穷性、确定性、可行性、输入、输出


算法设计的要求:

正确性、可读性、健壮性、高效率和低存储量。


参考书籍《大话数据结构》
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值