monocy

导航

2022年5月10日

手把手带你刷力扣(5)-队列

摘要: 重要操作的时间复杂度: (1)访问 O(N) (2)搜索 O(N) (3)插入 O(1) (4)删除 O(1) 注:访问和搜索最坏都需要遍历整个队列,所以时间复杂度是O(N);插入和删除操作通过入队和出队实现,队列通常由链表表示,所以时间复杂度是O(1)。 常用操作: 创建队列 添加元素 获取即将出 阅读全文

posted @ 2022-05-10 21:07 Monocy219 阅读(32) 评论(0) 推荐(0) 编辑

2022年5月7日

手把手带你刷力扣(4)-栈

摘要: 示意图: 重要操作的时间复杂度: (1)访问 O(1) (2)搜索 O(N) (3)插入 O(1) (4)删除 O(1) 注:访问和删除都是对栈顶元素,插入也是从栈顶进行元素插入,所以时间复杂度是O(1);搜索需要从栈顶开始遍历,所以时间复杂度是O(N)。 常用操作: 创建栈 添加元素 查看栈顶元素 阅读全文

posted @ 2022-05-07 20:48 Monocy219 阅读(30) 评论(0) 推荐(0) 编辑

2022年5月4日

手把手带你刷力扣(3)-链表

摘要: 单链表示意图 重要操作的时间复杂度: (1)访问 O(N) (2)搜索 O(N) (3)插入 O(1) (4)删除 O(1) 注:根据链表是由next指针逐一串连无法直接访问各个元素的特点,访问和搜索最坏情况都要遍历整个链表,所以时间复杂度为O(N);插入和删除只需要修改指针的指向就能完成,无需进行 阅读全文

posted @ 2022-05-04 16:24 Monocy219 阅读(20) 评论(0) 推荐(0) 编辑

2022年5月1日

手把手带你刷力扣(2)-数组

摘要: 数组:在连续的内存空间中,存储一种相同类型的元素。 区分: (1)元素和索引 索引是元素的下标,在数组中的相对位置。 元素 1 2 3 索引 0 1 2 (2)数组访问和数组搜索 访问a[1]是2,搜索2得到索引1。 重要操作的时间复杂度: (1)访问 O(1) (2)搜索 O(N) (3)插入 O 阅读全文

posted @ 2022-05-01 09:52 Monocy219 阅读(27) 评论(0) 推荐(0) 编辑

2022年4月29日

手把手带你刷力扣(1)-时间复杂度和空间复杂度

摘要: 时间复杂度:算法的执行效率、算法的执行时间和输入值的关系 需要关注的是算法中的for循环和while循环,如均没有,时间复杂度为O(1)。 下面是常见时间复杂度的简单案例: O(1): def O1(num): i = num j = num * 2 return i + j O(logN): de 阅读全文

posted @ 2022-04-29 10:44 Monocy219 阅读(96) 评论(0) 推荐(0) 编辑