栈,队列,数组,链表

一.数据结构概述

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

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

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

一般情况下,精心选择的数据结构可以来更高的运行或者存储效率。

二.学好数据结构三大因素

1.每种数据结构长什么样子?

2.如何添加数据?

3.如何删除数据

二.栈

1.栈的特点

后进先出,先进后去。

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

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

三.队列

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

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

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

四.数据结构(数组)

查询速度快:

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

例如:查询字母C

通过地址值获取整个容易,在通过索引2值获取数据C。

删除效率低:

要将原始数据删除,同时后面每个数据前移。

添加效率低:

添加位置后的每个数据后移,在添加元素。

五.链表

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

链表查询慢,无论查询哪个数据都要从头开始。

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

链表查询慢,无论查询哪个数据都要从头开始找。

链表增删相对快

六.单项链表和双向链表

相关推荐
承渊政道2 分钟前
【贪心算法】(经典实战应用解析(三):K次取反后最⼤化的数组和、按⾝⾼排序、优势洗牌、最⻓回⽂串、增减字符串匹配)
数据结构·c++·学习·算法·贪心算法·线性回归·哈希算法
Lucky_ldy8 分钟前
C语言学习:动态内存管理(数据结构关键)
c语言·数据结构·学习
邪修king33 分钟前
C++ 二叉搜索树 (BST) 超全详解:核心原理、完整实现、性能分析与使用场景
数据结构·c++·bst·二叉树搜索树
诙_35 分钟前
C++数据结构学习总结
数据结构·c++·学习
浅念-36 分钟前
LeetCode回溯算法从入门到精通完整解析
开发语言·数据结构·c++·算法·leetcode·dfs·深度优先遍历
晚风叙码1 小时前
一文吃透二叉树:前中后序遍历+节点数+树高+叶子节点(含完整源码)
数据结构·算法
happymaker06261 小时前
LeetCodeHot100——1.两数之和(详细解答)
java·数据结构·学习·算法
无限进步_1 小时前
【C++】用哈希表封装自己的 unordered_map 和 unordered_set
开发语言·数据结构·c++·算法·哈希算法·散列表·visual studio
bqq198610261 小时前
非关系型数据库概述
数据结构·数据库·非关系型数据库