数据结构学习日记----2

数据结构学习日记----2

1.算法:算法是指解决特定问题求解步骤的描述。

2.算法的特点:输入,输出,有穷性,确定性,可行性。

3.算法的设计要求:正确性,可读性,健壮性,时间效率高,储存量低。

- 解决不同的问题就需要不同的算法,而要评价一个算法的好坏我们通常会用到时间复杂度,空间复杂度。

**1. 时间复杂度:我们常用大O阶来反映时间的复杂度。

  • O(1)<O(logn)<O(n)<O(n²)<O(n³)<O(n^n) <O(n!) <O(2^n)
  • 大O阶的推导方法:
    1.用1代替运行次数函数中所加的所有常量。
    2.在修改后的函数的中只保留最高阶的项。
    3.若最高项为1,则此函数的大O阶为O(1);若最高项不为1,去掉最高阶项的系数,此函数的大O阶为O(最高阶项)。

如:执行次数函数为3n²+2n+5,第一步用1代替所有常数项,原式变为3n²+2n+1;第二步只保留最高阶项,原式变为3n²;第三步去掉最高阶项的系数,原式变为n²。所以此函数的大O阶为O(n²)。

  • 能放映时间复杂度的还有最坏情况和平均情况。

2. 空间复杂度:通过算法运行时所需的存储空间来反映。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值