一、数据结构
- 栈(Stack):后进先出LIFO,push:进栈,pop:出栈
- 队列(Queue):先进先出FIFO
- 链表(Link):循环遍历时效率不高,插入和删除时优势明显
- 散列表(Hash Table):尽量做到不经过任何比较,通过一次存取就能得到所查找的数据元素
- 排序二叉树:左子节点小于根节点,右子节点大于根节点
- 红黑树:特殊的二叉查找树,叶子节点红或黑
- 多路平衡查找树(B-Tree)
- 位图
二、基础排序算法
1、二分查找
- 要求:待查找序列有序。
- 过程:取中间位置值,与待查关键字比较。若中间位置值大,则循环前半部分这个查找过程,否则,则循环后半部分这个查找过程。直到找到位置,否则序列中没有待查的关键字。
- 目的:找到指定查找的数
3、插入排序
- 要求:无
- 过程:
- 目的:
2、冒泡排序
- 要求:无
- 过程:比较前后相邻的数字,如果前面数据大于后边数据,则两个数交换位置。
- 目的:将最大数放到最后边
4、快排:
5、堆排:
- 希尔排序
- 归并排序
- 堆排序
- 桶排序
- 基数排序
- 剪枝算法
- 回溯算法
- 最短路径算法
- 最大子数组算法
- 最长公共子序算法
- 最小生成树算法