java_数据结构

2020-04-07  本文已影响0人  老北瓜

 先进后出  , 像压子弹

队列

 先进先出  , 像传送带

数组

 查询快,增删慢。

因为数组的地址是连续的,可以通过数组索引快速找到某个元素。数组的长度是固定的,想要增加删除一个元素,必须创建一个新数组,把原数组的其余数据复制过来,原数组就会在内存中被销毁。

链表

 查询慢,增删慢。

链表中没个节点包含了一个 数据源(数据),两个指针域(一个自己的地址,和下一个节点的地址)
链表中的地址不是连续的,每次查询地址 都必须从头开始查询。链表结构 增加/删除一个元素,对链表的整体结构没有影响,所以增删快。
链表分类 -- >
单向链表: 只有一条链子,不能保证元素的顺序
双向链表 两条链子,有一条链子专门记录元素的顺序,是一个有序的集合。

红黑树

二叉树 , 分支不超过两个
排序树/查找树 。 在二叉树的基础上,元素有大小顺序,左边小,右边大。 类似猜数字,先拦腰砍一半 , 查询速度很快。
平衡树 左右相等
不平衡树 左右不相等
红黑树,趋近于平衡树,查询速度很快,查询叶子节点最大次数和最小次数不能超过2倍, 约束.... ###?????? image.png
上一篇下一篇

猜你喜欢

热点阅读