数据结构中数据存储的几种形式

数据结构中数据存储的几种形式

1.栈:数据从一个口进,从一个口出
特点:先入后出
2.队列:数据用两个口进,从两个口出
特点:先入先出
3.数组:
特点:查找容易,增删难
例子:
int [] arr = new int [1,2,3,4];
当创建数组的时候,对于1,2,3,4已经创建索引,并且将首地址赋予arr,要是查找,就很快;对于增删操作,当要是删除原本的数组里面的某一个数据,首先就需要重新建一个数组,然后将删除数据后的数组里面的数据复制后粘贴到新建的数组里面,这个过程就比较耗时;
新建一个数组的原因:数组创建之后数组的长度是不变的,当进行增删操作的时候,数组的长度就变化了,源数组就不适用了,这时就需要一个新的数组来存放操作后的数据。

4.链表:
特点:查找复杂,增删容易
有关于链表:单独的数据存在的形式:
单独数据的存在形式
两种链表的形式:单项链表和双向链表
单向链表:
只能向一个方向 ,不具有记忆性
双向链表:
具有记忆性,可以知道上一个数据源是什么

有关于链表查找复杂的讲解:在链表之中的数据不是像数组那样数据时连续的,在链表之中,数据是离散的,所以每次查找数据会就需要从头开始查询,这样就比较复杂并且耗时

增删的容易性:应为单独数据存在的形式,增删数据就只需要修改一下下一个数据的数据源地址就可以了

5.树:
有关于树的一些基本概念:
树根,节点,树叶
树根:树最上面的节点 也叫作父根
节点:连接着树根与树叶的点,就叫做节点
树叶:除了上面的一个节点,下面不存在节点

二叉树:
分支不能超过两个,可以说是左子树(左边)与右子树(右边)
完全二叉树(平衡二叉树):所有的节点都含有两个儿子(左子树与右子树)
不完全二叉树:并不是说所有的节点都有两个儿子
排序树/查找树:
排序树特点:小于的数就往左,大于的数就往右
红黑树:
特点:趋近于平衡树,查询速度特别快,查询叶子结点的最大次数和最小次数不能超过两倍
有关于红黑树的约束:
a.节点可以是红色的也可以是黑色的
b.根节点是黑色的
c.叶子结点(空节点)是黑色的
d.每个红色的节点的子节点都是黑色的
e.任何一个节点到其每一个叶子节点的所有路径上的黑色节点数相同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值