数据结构与算法(一)

什么是数据结构?

数据结构(data structure)是计算机数据存储、组织的方法。好的数据结构能够带来最优效率的算法。

数据结构包括逻辑结构和物理存储结构。

解决问题的效率,跟数据的组织是相关。打个比方,根据某个书名找数的效率不一样,一个图书馆的书本随意摆放,一个图书馆的按图书类别和字母顺序摆放,后者效率远高于前者。

递归:一种算法,函数过程/子过程在运行过程中调用自身,直到引用的对象已知。

解决问题的效率,跟空间的利用效率相关。

循环输出0-N 用for循环,和用递归(判断N>=0,输出N-1)效率是不一样的,递归每次调用自身,会占用新的空间来存储新的数据。

解决问题的效率,跟算法的巧妙程度有关。

抽象数据库类型(Abstract Data Type)

数据类型包括数据对象集和数据集合相关联的操作集

抽象:描述数据类型的方法不依赖于具体实现,比如无关数据存储的物理结构和无关实现操作的变成语言。

什么是算法?

算法是一个有限的指令集,接受输入/没有输入,但至少有一个输出,在有限的步骤后停止。

分析算法的效率:平均复杂度、最坏情况复杂度(更适合分析)

函数和复杂度的关系图

for循环复杂度等于循环次数*循环代码复杂度

if判断复杂度取决于三者之间复杂度最大的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值