数据结构知识点

推荐一个公众号datawhale。

准备跟着https://datawhalechina.github.io/leetcode-notes/继续学习数据结构,我会把我觉得重要的知识点记录在这篇笔记里,会跟随学习和刷题的进度编辑丰富内容,如有理解不到位的地方,欢迎各位大佬批评指正!

1.一个算法可以有多个输入,也可以没有输入。但算法是为了解决问题存在的,最终总需要返回一个结果,所以至少需要一个或多个参数作为算法的输出。

2.时间复杂度:O是渐进上界符号。

  • 找出算法中的基本操作(基本语句):算法中执行次数最多的语句就是基本语句,通常是最内层循环的循环体部分。
  • 计算基本语句执行次数的数量级:只需要计算基本语句执行次数的数量级,即保证函数中的最高次幂正确即可。像最高次幂的系数和低次幂可以忽略。
  • 用大 O 表示法表示时间复杂度:将上一步中计算的数量级放入 O 渐进上界符号中。
  • 加法原则:总的时间复杂度等于量级最大的基本语句的时间复杂度。
  • 乘法原则:循环嵌套代码的复杂度等于嵌套内外基本语句的时间复杂度乘积。
  • 61a7f60b37a64f36aa01df462cdbe6eb.png链接中讲了每种时间复杂度对应的典型算法。

3.空间复杂度:主要包括「局部变量(算法范围内定义的变量)所占用的存储空间」和「系统为实现递归(如果算法是递归的话)所使用的堆栈空间」两个部分。

4e5e24d572364c4abac545cc6c4e4db1.png

 

 

 

 

 

 

 

数组

需要连续的内存来存储。

链表

每一块存储分两部分,第一部分是数据,第二部分是指针,指向下一个存储。

队列

 

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值