1.逻辑结构
前面讲过数据结构可以分为存储结构和逻辑结构,一般情况下,我们讨论的最多的都是逻辑结构,下面介绍有哪些常用的逻辑结构。
1.1 线性结构
线性结构是一个有序数据元素的集合。元素与元素之间是“一对一”的关系。常见的线性结构如下:
1.1.1 数组
1.1.2 栈
1.1.3 队列
1.1.4 单向链表
1.1.5 双向链表
1.1.6 循环链表
1.2 树结构
元素与元素之间是一对多的关系。即一个元素只有一个父元素,但是可能有多个子元素。
1.2.1 二叉树
1.2.2 二叉搜索树(二叉排序树)
1.2.3 B树
1.2.4 红黑树
1.3 哈希表结构
使用数据中的关键字,通过哈希函数转化成数组存储位置的下标,然后通过下标直接进行访问的存储方式,称为哈希表结构,也可以称为散列表。
1.4 图结构
元素与元素之间是多对多的关系。
1.4.1 有向图和无向图。
以上只是梳理了逻辑结构的分类,帮助建立知识体系,后续将使用Java代码实现各种数据结构。这里提前说明一下,通过某种语言实现数据结构,实际上就是对数据结构中的元素进行一个增删改查的过程。