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

一、数据结构概述

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

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

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

二、常见的数据结构

(一)栈

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

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

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

(二)队列

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

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

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

(三)数组

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

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

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

(四)链表

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

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

增删相对数组较快

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

(五)总结

相关推荐
野生的编程萌新11 分钟前
从冒泡到快速排序:探索经典排序算法的奥秘(二)
c语言·开发语言·数据结构·c++·算法·排序算法
Brookty14 分钟前
【Java学习】锁、线程死锁、线程安全2
java·开发语言·学习·java-ee
花开富贵ii2 小时前
代码随想录算法训练营四十三天|图论part01
java·数据结构·算法·深度优先·图论
code小毛孩3 小时前
leetcode hot100数组:缺失的第一个正数
数据结构·算法·leetcode
HalvmånEver6 小时前
在 C++ :x86(32 位)和 x64(64 位)的不同
开发语言·c++·学习
艾伦~耶格尔10 小时前
【数据结构进阶】
java·开发语言·数据结构·学习·面试
Janspran11 小时前
嵌入式linux学习 -- 进程和线程
linux·运维·学习
闪电麦坤9512 小时前
数据结构:N个节点的二叉树有多少种(Number of Binary Trees Using N Nodes)
数据结构·二叉树·
rannn_11112 小时前
【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
css·后端·学习·html·javaweb
快去睡觉~13 小时前
力扣400:第N位数字
数据结构·算法·leetcode