数据结构之算法概念

数据结构:就好比一个大型图书馆,如何在书架上摆放图书,要考虑两个操作:

1.新书怎么插入
2.怎么找到指定的某本书

解决问题方法的效率,跟数据结构的组织方式有关,跟空间的利用率有关,跟算法的巧妙程度有关

所以什么是数据结构:
数据对象在计算机中的组织方式
1.逻辑结构
2.物理存储结构
数据对象必定与一系列加在其上的操作相关联
完成这些操作所用的方法就是算法

一个算法的好坏,主要看两方面,
时间复杂度:根据算法写成的程序在执行时耗费时间的长度,这个长度往往和输入数据的规模有关
空间复杂度:根据算法写成的程序在执行时占用存储单元的长度,这个长度往往也和输入数据的规模有关
1466148-20181007141032455-1848747774.png
不对算法复杂度做精确分析,大致知道增长趋势即可,所以有了复杂度的渐进表示法,O(f(n))表示上界,一般取能找到的最小的上界,最贴近真实情况的那个,因为上界有无穷多个

1466148-20181007141404892-784048158.png
1466148-20181007141415657-1535355855.png

一个算法的复杂度为n的平方时,下意识考虑能不能转换成n*logn

1466148-20181007141509378-2147134163.png
两个算法相加,时间取两者最大的那一个
两个算法相乘,则最终的算法复杂度也是两个相乘(取两个上界的乘积)
多项式展开就是依据这个原则,复杂度取最大项的那个

转载于:https://www.cnblogs.com/ymd12103410/p/9750059.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值