JAVA学习日记(十五) 数据结构

一、数据结构概述

数据结构是计算机底层存储、组织数据的方式。

数据结构是指数据相互之间以什么方式排列在一起的。

数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。

二、常见的数据结构

(一)栈

特点:后进先出,先进后出

数据进入栈模型的过程称为:压/进栈

数据离开栈模型的过程称为:弹/出栈

(二)队列

特点:先进先出,后进后出

数据从后端进入队列模型的过程称为:入队列

数据从前端离开队列模型的过程称为:出队列

(三)数组

**查询速度快:**查询数据通过地址值和索引值定位,查询任意数据耗时相同。(元素在内存中是连 续存储的)

**删除效率低:**要将原始数据删除,同时后面每个数据前移

**添加效率极低:**添加位置后的每个数据后移,再添加元素

(四)链表

链表中的结点是独立的对象,在内存中是不连续的,每个结点包含数据值和下一个结点的地址

**查询慢:**无论查询哪一个数据都要从头结点开始遍历

增删相对数组较快

双向链表可以提高查找的效率

(五)总结

相关推荐
c***21293 小时前
Springboot3学习(5、Druid使用及配置)
android·学习
云里雾里!4 小时前
力扣 209. 长度最小的子数组:滑动窗口解法完整解析
数据结构·算法·leetcode
GISer_Jing4 小时前
jx前端架构学习
前端·学习·架构
灰灰勇闯IT5 小时前
隐语MOOC三期学习感悟:解锁数据要素流通的“三维认知”与落地逻辑
笔记·学习
好奇龙猫5 小时前
日语学习-日语知识点小记-构建基础-JLPT-N3阶段-二阶段(25):语法和单词 第5-6课
学习
憨憨崽&5 小时前
进击大厂:程序员必须修炼的算法“内功”与思维体系
开发语言·数据结构·算法·链表·贪心算法·线性回归·动态规划
calvinpaean5 小时前
VGGT 论文学习
学习
毕设源码-邱学长6 小时前
【开题答辩全过程】以 基于Java的公职备考在线学习系统的设计与实现为例,包含答辩的问题和答案
java·开发语言·学习
wdfk_prog6 小时前
[Linux]学习笔记系列 -- [block][mq-deadline]
linux·笔记·学习
('-')6 小时前
《从根上理解MySQL是怎样运行的》第二十二章学习笔记
笔记·学习·mysql