LeetCode基础

参考书籍

  • 《算法》第4版,[英文版讲解地址],(http://algs4.cs.princeton.edu/home/),Java语言描述
  • 《算法导论》,英文名《Introduction to Algorithms, third edition》,伪代码描述

基础数据结构

  • 数组
  • 位运算
  • 队列
  • 链表
  • 堆 (优先队列 Priority Queue),Java源码链接
  • 二叉树 基础及题型
    • 二叉搜索树(已排序)
    • 红黑树 (平衡二叉搜索树)
      • TreeMap,JAVA源码链接,内部是红黑树存储,所以key是有序的。
      • SortedSet,C#源码链接,内部是红黑树。
      • TreeSet,C#源码链接,继承于SortedSet红黑树。
      • SortedDictionary, C#源码链接,内部元素是TreeSet。
      • SortedList,C#源码链接,内部是两个数组。
  • HashMap
    • HashMap(Java-kv), JAVA源码链接,当链接长度大于8时使用红黑树存储。
      • LinkedHashMap
        • LRUCache
    • Dictionary(.NET-kv),C#源码链接。
    • HashSet(only key),C#源码链接,
  • Trie(单词查找树)
  • Disjoint Set(Union Find)

    • 无向图
    • 有向图

基础算法

  • 排序
  • 查找
    • Binary Search

    • DFS
    • BFS
    • 连通分量
    • DisjointSet-Union-Find(并查集)
    • 有向图
    • 拓扑排序
    • 强连通性
    • 最小生成树
    • 最短路径
      • Dijkstra 算法
      • Bellman-Ford 算法
      • A* 算法
  • 字符串
    • 字符串排序
    • 字符串查找(KMP查找)
    • 压缩编码
  • 动态规划
  • 贪心算法
  • 分治算法
  • 背包算法
  • 拓扑排序
  • 递归算法

高级算法

  • 线段树
  • Minimax
  • 线性规划
  • 计算几何
  • 近似算法
  • 网络流
  • 博弈论
  • NP问题

Java 数据结构关系图:

LeetCode基础_第1张图片

你可能感兴趣的:(leetcode,LeetCode)