本文概括性的介绍一下我们工作中常用到的一些算法及数据结构分类。

1. 常用算法分类

  • 基础技巧: 分治二分贪心动态规划分支限界法

  • 排序算法: 快速排序、归并排序、计数排序

  • 搜索算法: 回溯、递归、深度优先遍历、广度优先遍历、二叉搜索树等;

  • 图论: 最短路径、最小生成树;

  • 动态规划: 背包问题、最长子序列;

2. 数据结构分类

  • 数组与链表: 单/双向链表

  • 栈与队列

  • 哈希表

  • 堆: 最大堆/最小堆

  • 树与图: 最近公共祖先、并查集

  • 字符串: 前缀树(字典树)/后缀树



[参看]:

  1. Leetcode刷题链接

  2. 剑指offer(牛客网)

  3. LeetCode & 剑指offer 刷题笔记

  4. Java互联网面试指南

  5. Github 算法

  6. 五大常用算法

  7. 相关面经