数据结构1

java中的数据结构有八种:

分别是:数组,栈,链表,图,散列表,队列,树,堆

每一种的数据结构都有着独特的数据存储方式,

数组 :数组中可以存入多个连续的值,在内存中的分配也都是连续的,可以通过元素的下标访问,第一个下标为0

优点是:查询元素的速度快,遍历数组方便

缺点是:数组的大小固定后就不能再重新扩容了,数组中只能存入一种类型的值,添加和删除操作比较慢,因为修改一个值就要移动其他的值

使用场景:频繁的查询,对存储空间要求不大时,还有就是很少进行增加和删除的情况下

:栈的结构就像一个集装箱,先放进去的东西最后才能拿出来,所以栈常用于实现递归功能方面

队列:队列和栈类似都是一个集装箱结构,只不过这个集装箱是两头开口的集装箱,是属于先进先出,因为这个先进先出的特点一般用于多线程阻塞队列管理

链表:链表存储的数据不是连续放置的,每一个元素的存储都是由上一个元素的指针引用,(指针可以看作成火车中间的连接,火车的结构就是一个典型的链表结构)根据指针的指向,可以形成不同的链表结构,如:单链表,双向链表,循环链表等。(单链表就像火车),(双向链表就是再原有的链表基础上再加一个指针,指向上一个元素形成一个双向绑定的结果)(循环链表可以看作是一群手拉手的小朋友,形成了一个圆形)

优点是:链表不需要初始化容量,可以任意的增加删除数据,链表再执行添加或删除操作时,只需要改变前后两个元素的指针指向位置即可。所以添加删除会很快

缺点是:因为含有大量的指针域,占用空间会很大,查找元素的时候只能通过遍历链表来查找非常耗时(查找的过程就像是玩解密游戏,只有找到这个谜题才可以前往下一个区域)

适用场景:数据量少,需要频繁的进行新增删除操作是

:树这种数据结构是具有层级关系的,为什么要叫树结构,是因为他很像一个倒挂的树,根朝上,叶朝下,有以下的特点

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值