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

55 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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