java-data-structure icon indicating copy to clipboard operation
java-data-structure copied to clipboard

用java实现数据结构,形成文档以及代码

前言

由于在面试过程中,有关数据结构的题都回答的不是很好,再加上工作和学习的过程中(阅读源码),或多或少会接触到数据结构。所以我狠心下来重新拾起数据结构。以下记录我在学习数据结构的过程中的点滴,包括学习资料,文档以及输出的代码,希望能够帮助到有心人。

学习过程可以概括为:选择合适书阅读了解基本概念 -> 编程实践 -> 阅读jdk相关源码 -> 完善实践源码 -> 刷题:剑指offer或者leetCode

书籍的选择

算法4,算法中的经典书籍,强烈推荐!

编程实践

树的基本概念 && 实现二叉树基本操作

  • [x] 文档
  • [x] 源码

链表的基本概念 && 实现单向链表、循环链表和双向链表

  • [x] 文档
  • [x] 单向链表
  • [x] 循环链表
  • [x] 双向链表

栈的基本概念 && 实现栈的基本操作(顺序栈和链式栈)

  • [x] 文档
  • [x] 顺序栈
  • [x] 链式栈

队列的基本概念 && 实现队列的基本操作(顺序队列、链式队列和循环队列)

  • [x] 文档
  • [x] 顺序队列
  • [x] 链式队列
  • [x] 循环队列

阅读jdk源码

LinkedList

  • [x] 源码

ArrayList

  • [x] 文档
  • [x] 源码

刷题:剑指offer或者leetCode

剑指offer,刷题可以使用牛客网

  • [ ] 剑指offer汇总-持续更新

leetCode,刷题可以使用leetCode官网