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

一、数据结构概述

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

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

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

二、常见的数据结构

(一)栈

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

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

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

(二)队列

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

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

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

(三)数组

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

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

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

(四)链表

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

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

增删相对数组较快

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

(五)总结

相关推荐
先做个垃圾出来………3 小时前
哈夫曼树(Huffman Tree)
数据结构·算法
向上的车轮5 小时前
MATLAB学习笔记(七):MATLAB建模城市的雨季防洪排污的问题
笔记·学习·matlab
Inverse1625 小时前
C语言_动态内存管理
c语言·数据结构·算法
前端小崔6 小时前
从零开始学习three.js(18):一文详解three.js中的着色器Shader
前端·javascript·学习·3d·webgl·数据可视化·着色器
龙湾开发7 小时前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 10.增强表面细节(二)法线贴图
c++·笔记·学习·图形渲染·贴图
liang_20267 小时前
【HT周赛】T3.二维平面 题解(分块:矩形chkmax,求矩形和)
数据结构·笔记·学习·算法·平面·总结
虾球xz7 小时前
游戏引擎学习第290天:完成分离渲染
c++·人工智能·学习·游戏引擎
虾球xz7 小时前
游戏引擎学习第285天:“Traversables 的事务性占用”
c++·学习·游戏引擎
进击的小白菜8 小时前
LeetCode 153. 寻找旋转排序数组中的最小值:二分查找法详解及高频疑问解析
数据结构·算法·leetcode
虾球xz8 小时前
游戏引擎学习第280天:精简化的流式实体sim
数据库·c++·学习·游戏引擎