/**
- 数据结构:数据用什么样的方式,组合在一起。
- Java常见的数据结构:
-
----栈,队列,线性表,链表,红黑树。
- 1.栈
- 栈的特点:先进后出。
-
栈:stack,又称堆栈,它是运算受限的线性表,其限制仅允许,在栈的一端进行插入和删除操作,不允许在其他的位置进行添加,查找,删除等操作。
- 2.队列
- 队列:queue,又简称队,也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入操作,而在表的另一端进行删除操作。
- 队列的特点:先进先出。
- 3.线性表
-
:是有序的元素序列,数组是内存开辟的一段连续的内存空间,并在此空间存放元素。
- 线性表特点:连续的内存区域,每个区域大小是大小固定的;查询快,增删慢。
-
查询快的原因:是可以通过其实位置和索引快速定位出目标索引元素的位置。
-
增删慢的原因:创建新的数组,然后要对元素进行迁移。
- 4.链表
-
:linked list,由一系列结点node(链表中每个元素成为结点),结点在运行时动态生成,每个结点,
-
由两部分组成:一个书存储数据元素的数据域,两一个是存储下一个结点地址的指针域。
- 链表的特点:
-
游离在内存中存储,不是连续的区域。
-
查询慢:从链表的第一个元素开始,一个一个的去访问,查看是否是所找的元素。
-
增删快:无需创建新的结构,只需把增删的元素前后元素衔接即可。
- 5.红黑树(二叉树):
-
----每个结点不超过2的有序树。
-
特点:只有一二根节点,每个结点最多只能有两个子结点。
- 红黑树可以用来做数据排序:
-
------大的数据往右边结点搁置。
-
------小的数据往左边结点搁置。
- */