Java笔记(十二)数据结构:存放数据的方式

数据结构:存放数据的方式

数组 链表 栈 队列 二叉树 

1.顺序结构:(ArrayList)

 1)底层实现:数组
 2)特点:
a.按照顺序排序,并且每个元素都带有标号
b.除了标号是连续的,内存中的物理空间也是连续的
 3)功能:
增加 - 存储数据 add()
删除 - 删除数据 remove()
修改 - 修改数据  set()
查看 - 获得数据  get()
  4)优缺点:
优点:因为有下标,所以查询速度快
缺点:
	插入/删除效率低
	因为需要连续的物理内存空间,对空间使用率相对较低,非常占用空间

2.链式结构:(LinkedList)

1)底层数据结构:链表
2)底层实现:Node(节点) -> (data(数据) + next(下一个节点的引用))
3)特点:
a.链表的内存是连续的,但是物理内存空间不是连续的,应用率高
b.操作的是Node(data + next)
c.所有操作都必须从头节点开始,并且头节点不存数据

4)几种不同的链表
a.单向链表
	特点:Node-next,只能从头开始往下找
b.双向链表
	特点:Node-next,可以从头开始往下找,也可以从尾往前找
		头结点:不存数据,没有next
		尾结点:不存数据,没有pre
c.循环链表
	特点:Node-next,尾节点(有data数据的节点)指向头节点,可以在任意位置开始,都可以获取到想要的元素

总结:

顺序结构 + 链式结构 -> 线性结构(固定顺序)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值