手把手带你刷Leetcode力扣|各个击破数据结构和算法|大厂面试必备技能【已完
2022-12-01 16:15 作者:weiyinerzui | 我要投稿

0. 【必看】视频简介 P1 - 00:12
视频主要内容:如下图



常用的数据结构+常用算法,每个数据结构或算法讲解完之后,会有对应的Leecode练习题讲解,会给出解题思路和伪代码,最后会以Java和Python为例给出解题代码。
- 数据结构
1.1 数组(Array)
- 定义
数组,在连续的内存空间中存储的一组相同类型的元素。
3. 【数据结构】【数组Array】... P4 - 01:54

- 元素与索引
索引与元素一一对应。
3. 【数据结构】【数组Array】... P4 - 02:43

- 访问和搜索
3. 【数据结构】【数组Array】... P4 - 03:55
访问:通过索引获取元素。
搜索:搜索某个元素是否存在。

- 数组的时间复杂度
3. 【数据结构】【数组Array】... P4 - 04:43

- 访问(Access)
时间复杂度:O(1)
原因:数组的元素在内存中是连续的,因此每个元素的地址可以通过数学计算获得,访问的时候就可以直接通过内存地址直接获得元素。
3. 【数据结构】【数组Array】... P4 - 07:12

- 搜索(Search)
时间复杂度为:O(N)
原因:与访问不同,搜索的时候需要遍历所有元素。
- 插入(Insert)
时间复杂度为:O(N)
原因:插入的时间复杂度由插入元素的位置决定,最坏的情况下(时间复杂度最大),有两种:1. 在数组的开头插入元素,则数组中的每个元素都有往后移动一位;2.插入元素时,数组所在内存空间不够,需要重新把所有元素移到新的位置再插入。在以上两种情况下插入元素,为保证数组中每个元素都是连续的,时间复杂度都为O(N)。
3. 【数据结构】【数组Array】... P4 - 09:25

- 删除(Delete)
时间复杂度为O(N)
原因:当删除开头的元素时,需要把所有元素往前移。
- 数组的特点
读多写少。
3. 【数据结构】【数组Array】... P4 - 10:40

- 数组的常用操作
- 创建数组
- 添加元素
- 访问元素
- 修改元素
- 删除元素
- 查找元素
- 数组的长度
- 数组的排序(内置的排序方法)
3. 【数据结构】【数组Array】... P4 - 11:08
3. 【数据结构】【数组Array】... P4 - 10:49

- 练习题
3. 【数据结构】【数组Array】... P4 - 12:49
