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

一、数据结构概述

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

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

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

二、常见的数据结构

(一)栈

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

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

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

(二)队列

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

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

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

(三)数组

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

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

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

(四)链表

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

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

增删相对数组较快

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

(五)总结

相关推荐
小年糕是糕手几秒前
【C++】string类(二)
开发语言·数据结构·c++·程序人生·算法·leetcode·数字货币
深蓝海拓8 分钟前
PySide6从0开始学习的笔记(七) 控件(Widget)之文字输入类控件
笔记·python·qt·学习·pyqt
重生之我在番茄自学网安拯救世界10 分钟前
网络安全中级阶段学习笔记(八):upload靶场实战(1-13关)-文件上传漏洞绕过1
笔记·学习·网络安全·文件上传漏洞·靶场实战
一过菜只因12 分钟前
Git入门学习
git·学习
LYFlied13 分钟前
【每日算法】LeetCode239. 滑动窗口最大值
数据结构·算法·leetcode·面试
XiaoHu020716 分钟前
C++ 数据结构关于二叉搜索树
数据结构·算法
承渊政道17 分钟前
C++学习之旅【C++内存管理、模板初阶以及STL简介】
c++·学习·visual studio
遇印记18 分钟前
java期末复习(构造方法和成员方法,重写和重载)
java·开发语言·学习
C雨后彩虹19 分钟前
事件推送问题
java·数据结构·算法·华为·面试
明洞日记19 分钟前
【设计模式手册018】访问者模式 - 分离数据结构与操作
数据结构·设计模式·访问者模式