数据结构与算法概览
数据结构 + 算法 = 程序
查找和排序
东西,它就在那里。但你需要找到它。
- 我们需要的,是查找。
- 为了便于查找,我们需要排序。
- 秩序,只是排序的别名。
查找 - find
- 线性查找太慢
- 二分查找指数级别收敛
- 需要事先排序
- 排序算法
- 需要下标索引
- 二叉树
- Skip List
排序 - sort
有时候排序本身就是目的。
有时候,排序是为了快速查找。
- 选择排序
- 冒泡排序
- 插入排序
- 快速排序
Hash
Hash 也可以看作是一种排序。
TODO
树 - Tree
- 二叉树 Binary Tree
- AVL Tree
- 红黑树
- B+ Tree
字符串算法
- KMP 算法 - fgrep
- Regular Expression - egrep