Java常见数据结构

Java常见的数据结构:

  • 1.栈
  • 2.队列
  • 3.数组
  • 4.链表
  • 5.二叉树
  • 6.二叉查找树
  • 7.平衡二叉树
  • 8.红黑树
  • 9.哈希表

1.栈

  • 特点: “先进后出,后进先出”

    栈数据结构

  • 基本操作:
    • push(入栈): 将元素推入栈中。
    • pop(出栈): 从栈中移除并返回顶部的元素。
    • peek(或top): 查看栈顶的元素,但不移除它。
    • isEmpty: 检查栈是否为空。
    • size: 返回栈中元素的数量(有些实现可能不提供此功能)。

2.队列

  • 特点:“先进先出,后进后出”

队列数据结构

  • 基本操作:
    • enqueue: 将一个元素添加到队列的末尾。
    • dequeue: 从队列的前端移除并返回元素。
    • peek(或front):查看队列前端的元素,但不移除它。
    • isEmpty: 检查队列是否为空。
    • size: 返回队列中元素的数量(有些实现可能不提供此功能)。

3.数组

  • 特点:创建后固定大小,内存连续性,查询快,增删慢

数组结构

  • 基本操作:
    • 访问元素:通过索引访问特定位置的元素
      • 示例: int firstNumber = numbers[0]; // 获取第一个元素的值
    • 修改元素:通过索引修改特定位置的元素
      • 示例: firstNumber[0] = 10; // 将第一个元素的值设置为10

4.链表

单向链表

  • 结点结构:

    单向链表结点结构

  • 链表结构:

    单向链表结构

  • 特点:
    • 链表中的结点是独立的对象,在内存中是不连续的,每个结点包含数据值和下一个结点的地址
    • 查询慢,无论操作哪个数据都要从头开始找
    • 相对于数组,增删较快

双向链表

  • 结点结构
双向链表结点结构
  • 链表结构
    双向链表结构
  • 特点:
    • 既可以往前走,也可以往后走
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值