这里提到的数据结构指的是 逻辑结构,注意和 物理结构 区分开。
物理结构只有两种,数组 和 链表,所有的逻辑数据结构都是基于这两种物理结构实现的。
在项目中,数组使用java自带的关键字[]实现,链表重写一个,因为java自带的LinkedList隐藏了链表细节,不方便底层处理。
常用到的逻辑数据结构包括:
- 线性表List:线性的数据结构,每个元素只有最多只有一个前驱和一个后继节点,线性表是有序的。可以具体细分为 列表、队列、栈、Hash表等;
- 树Tree:分层次的数据结构,常见的包括二叉树、堆等;
- 图:拓扑结构;