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

一、数据结构概述

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

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

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

二、常见的数据结构

(一)栈

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

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

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

(二)队列

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

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

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

(三)数组

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

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

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

(四)链表

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

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

增删相对数组较快

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

(五)总结

相关推荐
liuyao_xianhui几秒前
Linux开发工具结尾 _make
linux·运维·服务器·数据结构·哈希算法·宽度优先·1024程序员节
南境十里·墨染春水10 分钟前
linux学习进程 线程同步——读写锁
java·jvm·学习
知识分享小能手11 分钟前
R语言入门学习教程,从入门到精通,R语言基础 - 完整知识点与案例代码(1)
开发语言·学习·r语言
lwf00616417 分钟前
偏导数学习日记
学习·机器学习
c++圈来了个新人19 分钟前
C++类和对象(中)
c语言·开发语言·数据结构·c++·考研·算法
2401_8920709823 分钟前
红黑树(RBTree):原理 + 5 大性质 + 旋转 + 插入 + 删除 + 完整工程级代码逐行解析
c语言·数据结构·红黑树
.千余26 分钟前
【Linux】开发工具2:vim
linux·服务器·开发语言·学习
Lazionr27 分钟前
【链表经典OJ-下】
c语言·数据结构·链表
zhangyueping838538 分钟前
大模型学习笔记-调用模型和基础使用
笔记·学习
a里啊里啊1 小时前
软考-软件评测师:知识点整理(六)——数据结构与算法
数据结构·算法·链表·软考·软件评测师