Java中的数据结构

1.数据结构

常见的有:栈 队列 数组 链表 红黑树

先进后出

队列

先进先出

数组

查询快 增删慢

链表

查询慢 增删快

红黑树

红黑色 二叉树

2.栈   先进后出

3.队列   先进先出

4.数组   

查询快:因为数组是连续的 通过首地址可以找到数组 通过索引快速查找某一元素

增删慢:数组的长度是固定的 想要删除或者增加一个元素 必须创建一个新数组 就得把源数组的数据复制过来

5.链表 

查询慢:链表中地址不是连续的 每次查询元素 都必须从头开始查询

增删块:链表结构增加或者删除一个元素 对链表的整体结构没有影响

单向链表 只有一条链子 不能保证元素的顺序(存储和取出元素的顺便有可能不同)

双向链表 有两条链子 有一条是专门记录元素顺序的 所有它是有序的集合

6.红黑树

趋近于平衡树 查询的速度非常快 查询叶子节点的最大次数和最小次数不能超过2倍

节点只有两种颜色 可以是黑色或者红色

根节点是黑色的 叶子节点也是黑色的 每个红色的节点的子节点都是黑色的

任何一个节点到其每个叶子结点的所有路径上黑色接点的数量相同

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋文轩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值