这里对算法与数据结构做一个整体的概论,方便自己有一个大局的整体意识。有一个左程云讲的视频可以看下,关键还是要自己能第一反应做题目,只图省事看视频没有什么作用,

多自己去实现一些现有的算法(数据结构与算法,或者机器学习算法)

五大常用的算法:

  • 分治算法
  • 动态规划算法
  • 贪心算法
  • 回溯法
  • 分支限界法

排序(快速选择、堆排序、桶排序、荷兰国旗问题) 树(递归、层次遍历、前中后序遍历、BST、Trie) 图(二分图、拓扑排序、并查集) 搜索(BFS、DFS、Backtracking) 动态规划(斐波那契数列、矩阵路径、数组区间、分割整数、最长递增子序列、最长公共子序列、0-1 背包、股票交易、字符串编辑)

栈和队列用数组加指针实现。

vector 用模板实现

哈希表用数组加链表实现。

滚动数组

References

  1. 五大常用算法之一:分治算法
  2. 五大常用算法之二:动态规划算法
  3. 五大常用算法之三:贪心算法
  4. 五大常用算法之四:回溯法
  5. 五大常用算法之五:分支限界法