欢迎光临散文网 会员登陆 & 注册

手把手带你刷Leetcode力扣|各个击破数据结构和算法|大厂面试必备技能【已完

2022-12-01 16:15 作者:weiyinerzui  | 我要投稿


0. 【必看】视频简介 P1 - 00:12


视频主要内容:如下图



常用的数据结构+常用算法,每个数据结构或算法讲解完之后,会有对应的Leecode练习题讲解,会给出解题思路和伪代码,最后会以Java和Python为例给出解题代码。


  1. 数据结构

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


  • 数组的常用操作
  1. 创建数组
  2. 添加元素
  3. 访问元素
  4. 修改元素
  5. 删除元素
  6. 查找元素
  7. 数组的长度
  8. 数组的排序(内置的排序方法)


3. 【数据结构】【数组Array】... P4 - 11:08


3. 【数据结构】【数组Array】... P4 - 10:49


  • 练习题


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




手把手带你刷Leetcode力扣|各个击破数据结构和算法|大厂面试必备技能【已完的评论 (共 条)

分享到微博请遵守国家法律