JavaSE基础-数据结构

216 阅读1分钟

一、栈

先进后出

二、队列

先进先出

三、数组

查询快:只需对应到数组地址,元素地址连续
增删慢:需要创建新的数组,源数组销毁

四、链表

查询慢:地址不连续,每次查询元素都需要从头开始查询
增删快:链表中的每个元素也称为一个节点单向链表一个节点包含了 一个数据源(存储数据)两个指针域(当前地址和下一个元素地址)双向链表一个节点比单向链表多了一个指针域(前一个元素地址)

1.单向链表特点

不能保证链表顺序:存储元素与取出元素顺序可能不一致

2.双向链表特点

由于多了一个指向前一个元素的指针,因此是一个有序的集合

3.辨析

a .list接口与链表不等价
b . list接口常用的三种集合实现类分别为ArrayList,LinkedList,Vector
c . ArrayListVector虽然实现了list接口,但是基于数组的数据结构实现的
d .LinkedList也实现了list接口,但是基于双向链表的数据结构实现的,双向链表的数据结构同样是需要后期编写代码来进行实现的。

五、红黑树

1. 完犊子 日后来补