project/算法/learn/体系/4.一些基础的数据结构.md

55 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

2022-06-21 04:20:13 -04:00
1. 单链表、双向链表
2. 栈队列
## 数组做队列
1. 数组固定长度,两个指针追赶。只用一个元素时不好实现。
2. 添加变量队列元素个数。begin和end解耦。
## 栈随时获取最小值
1. 数据栈
2. 最小栈(弹出后依然能获取最小值)
3. 压栈,数据栈正常压入,最小栈如果压入数小于栈顶则亚如当前数,如果大于则重复压入栈顶。
4. 弹出同步弹出。
## 图优先遍历
深度优先遍历:栈
宽度优先遍历:队列
## 栈实现队列
1. 设置push栈和pop栈两个来回倒push压入弹出时push中的数据放入pop中从pop中弹出。一次性倒完
## 队列实现栈
1. 压栈放入一个队列中,需要弹栈的时候将全部放入另一个队列中,留下最后一个弹出。
2. 再次放入,再放在当前队列中存入,弹出的时候,再次导入另一个队列中,最后一个弹出。
## 递归
### 递归改非递归
使用系统栈。树遍历。
递归到动态规划。
大化小,递归图。
## Master公式分析递归时间复杂度
子问题规模一致
## 哈希表 HashMap
## 有序表 TreeMap
## 归并排序