复杂度
一般用 大o表示法 来描述复杂度
一般用 大O表示法 来描述复杂度,表示 数据规模n 对应的复杂度。不过要注意 大O表示法 仅仅是一种粗略的分析模型,是一种估算,用来帮助我们在短时间内了解一个算法的执行效率。 时间复杂度又称"渐进式时间复杂度",用来表示代码执行时间与数据规模之间的增长关系
上面这段代码是往数组尾插入元素,并且实现了自动扩容功能
上面这段代码是往数组尾插入元素,并且实现了自动扩容功能。在数组未满的情况下,直接放到数组尾即可,因此,最好时间复杂度为 O(1)。在数组满的情况下,需要进行 n 次移动,并申请 n 个空间,因此,最坏时间复杂度是 O(n),最坏空间复杂度是 O(n)
依旧还是面试题,比较麻烦的是,这个排序的关键在于
依旧还是面试题,比较麻烦的是,这个排序的关键在于,我们需要时间复杂度为O(n),空间复杂度为O(1)。 题目大概是这样的,看了输入输出基本就会明白了: 这里其实主要没做出来是因为我没有很好地理解怎么计算复杂度,尤其是空间复杂度,时间复杂度我勉强记忆成for循环的嵌套还是可以的,但是空间复杂度呢? 这里空间复杂度意味着没有长度为n的数组(但是可以是常量个)。 括号里的当时是我没想到的部分,我以为是:一个数组都不能开