简介
# 数据结构与算法简介

关系:程序 = 数据结构 + 算法。
数据结构为算法提供服务,算法围绕数据结构操作。
数据结构是基础,算法是数据结构的运用与进阶。
- 数据结构:计算机存储。组织数据的方式
- 栈、队列、链表
- 集合、字典
- 树、堆、图
- 算法:一系列解决问题的清晰指令。
- 链表:遍历链表,删除链表节点
- 树、图:深度/广度优先遍历
- 数组:冒泡/选择/插入/归并/快速排序、顺序排序/二分搜索
# 利用LeetCode刷题(集中某一类型刷题)
# 搜题方法
通过题号搜索
通过难度、状态、列表、标签搜索
# 做题方法
- 快捷键
# 复杂度计算
# 时间复杂度
O(1)实例
let i = 0; i += 1
1
2每次执行代码文件时只执行一遍。
O(n)
for(let i = 0; i<<n;i+= 1){ console.log(i) }
1
2
3循环n次执行n次代码。
O(1) + O(n) = O(n)
O(n) * O(n) = O(n ^2)
O(logN)
# 空间复杂度
代码所占内存大小
O(1):因为代码中只声明了单个变量,单个变量所占的内存为1
O(n):list数组内添加n个值,相当于占用了n个内存单元。所有代码的空间复杂度就是O(n)
O(n^2):存储的变量为n的二次方个。
编辑 (opens new window)
上次更新: 2022/02/21, 05:57:00