Skip to content

Latest commit

 

History

History
51 lines (43 loc) · 1.95 KB

README.md

File metadata and controls

51 lines (43 loc) · 1.95 KB

DataStructure_J

本仓库使用Java实现一些基本的数据结构。练习仓库。

工具与读物推荐

  1. 算法可视化
  2. 一本很棒的开源算法书

过程中使用到的参考资料:

  1. JDK相关源码的阅读
  2. 漫画算法(不推荐,一言难尽)
  3. 算法图解
  4. 算法导论 <原书第三版> 中文版
  5. B站redis源码解析:复习hash和跳表
  6. B树参考论文
  7. 布隆过滤器的误判率问题
  8. 布谷过滤器(Cuckoo Filter)
  9. 可逆布隆过滤器(Invertible Bloom Filters)
  10. 上面可视化网站没有这个数据结构,所以补充一个:布隆过滤器Bloom Filters playground

计划实现的数据结构:

(如果最终没有实现将会从表中移除...)

  1. 动态数组(array list)
  2. 链表(linked list)
  3. 双向链表(doubly linked list)
  4. 循环链表(circle linked list)
  5. 栈(stack)
  6. 队列(queue)
  7. 双端队列(deque)
  8. 循环队列(circle deque)
  9. 二叉搜索树 (binary search tree)
  10. AVL树 (AVL tree)
  11. B树(b tree)
  12. B+树和B*树(b+、b* tree)
  13. 红黑树(red black tree)
  14. 哈希表 (hash map)
  15. 布隆过滤器(bloom filter)
  16. 二叉堆(binary heap)
  17. 优先级队列(Porioity Queue)
  18. 哈夫曼树(Huffman tree)
  19. 并查集(union find)
  20. 跳表(skip list)
  21. 图(Graph)
  22. 图的搜索:DFS/BFS
  23. 最小生成树:Dijkstra、BellmanFord、Floyd
  24. 串(string matching)
  25. 字符串匹配:KMP(Knuth-Morris-pratt)、BM(Boyer-Moore)、RK(Rabin-Karp)、Sunday