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

一、数据结构概述

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

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

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

二、常见的数据结构

(一)栈

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

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

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

(二)队列

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

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

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

(三)数组

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

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

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

(四)链表

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

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

增删相对数组较快

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

(五)总结

相关推荐
手揽回忆怎么睡5 小时前
Streamlit学习实战教程级,一个交互式的机器学习实验平台!
人工智能·学习·机器学习
xiaoxiaoxiaolll5 小时前
《Advanced Materials》基于MXene的复合纤维实现智能纺织品多模态功能集成
学习
蜂蜜黄油呀土豆6 小时前
Redis 底层实现深度解析:从 ListPack 到哈希表扩容
数据结构·redis·zset·sds·listpack·哈希表扩容
db_murphy6 小时前
学习篇 | 英方i2Active和i2Stream工具了解
学习
强子感冒了7 小时前
Java学习笔记:String、StringBuilder与StringBuffer
java·开发语言·笔记·学习
BullSmall7 小时前
Doris的备份及恢复方案
学习
小李子不吃李子7 小时前
人工智能与创新第二章练习题
人工智能·学习
郝学胜-神的一滴8 小时前
Linux进程与线程控制原语对比:双刃出鞘,各显锋芒
linux·服务器·开发语言·数据结构·c++·程序人生
javachen__8 小时前
341-十道经典程序设计题目
数据结构·c++·算法
NULL指向我9 小时前
STM32F407VET6学习笔记14:Bootloader程序笔记
笔记·stm32·学习