菜鸡自学数据结构笔记1(时间复杂度、空间复杂度)

最近开始学习数据结构,跟着《哔哩哔哩【拯救者】数据结构速成_编程张无忌》。以此作为我的学习笔记,OK话不多说,开始学习。

注意上面的定义,需要执行次数需要是n的函数!!这点很重要,会在文末的最后一道习题中体现。

常见的时间复杂度计算

空间复杂度

求阶乘低轨这里的空间复杂度是指占帧个数,不是变量个数(这里我有点疑惑,前面说空间复杂度是变量的个数,这里又说是占帧个数,而不是变量个数,为什么呢?)

本节习题错题集

下面这个不太理解,明明循环了很多次,为啥时间复杂度还是O(1)?

明白了,是因为O(1100) = 1,因为没有n。

用我自己的话总结一下:

就是时间复杂度不为O(1),运算次数就必须要随着“什么东西(比如n)”变化,最后这个题目就因为“次数固定,不会变化”所以是O(0)。而倒数第二个明显可以看出会随着n的变化而改变!简单吧~

OK,复杂度计算方法学习到这就结束了(前面说的“文末”指的就是这里噢~


由于发现基础知识不够牢靠,下面补充一下数据结构绪论部分的内容:

集合元素之间是没有关系的;

线性结构中的元素是一一对应的;

树形结构是一对多;

图形结构是多对多。

这里注意一下哦,数据元素(蓝色)是数据的基本单位!!不是数据项!!

散列存储和索引存储的区别就在于有没有“索引表”。

这一部分习题数据的存储结构要么是顺序,要么是链式,要么是散列,显然ABD正确,C是根据线性表中,线性元素的数据大小来划分的概念,并不属于存储结构(顺序、链式),所以选C。

P.S.这里总觉得把“顺序”和“线性”的顺序没有理清楚,请注意区分,这里再总结一下:
线性结构”是在“逻辑结构”(线性结构、非线性结构)中出现的;

顺序结构”实在“存储结构”(顺序存储结构、链式存储结构、散列存储结构、索引存储结构)中出现的。

好的,以上就是补充的全部内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值