首页 > 其他分享 >数据结构基本概念

数据结构基本概念

时间:2024-09-03 20:55:19浏览次数:6  
标签:存储 元素 链表 内存 数据结构 数据 基本概念 结构

组织存储数据 --->内存

程序=数据结构 + 算法

定义:

一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)

程序的设计:

将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中,并在此基础上实现某个特定的功能的操作

数据与数据之间的关系:

数据的逻辑结构:数据元素与元素之间的关系

集合:关系平等

线性结构:元素之间一对一的关系(表(数组、链表),队列,栈)

树形结构:元素之间一对多的关系(二叉树)

图形结构:元素之间多对多的关系(网状结构)

数据的物理结构:数据的逻辑结构在计算机内存中的存储形式

顺序存储:采用一段连续的内存空间保存元素

数组:1、空间连续

2、访问数据方便

3、插入和删除需要移动大量数据

4、预分配内存空间

5、容易产生外内存碎片(结构体容易产生内内存碎片)

链式存储结构:采用一组非连续的内存空间保存元素

链表:1、空间不连续

2、访问数据需要遍历

3、插入和删除方便

4、不需要预分配

索引存储:通过关键字构建索引表,通过索引表来找到数据的存储位置

散列存储(哈希存储):将数据元素的存储位置与关键码之间建立确定对应关系从而实现查找的存储方式(方便查找)

线性结构:

顺序表--->数组

链式表--->链表

链表:

单向链表

有头链表:

无头链表:头插和头删不方便

标签:存储,元素,链表,内存,数据结构,数据,基本概念,结构
From: https://blog.csdn.net/chdtu/article/details/141871547

相关文章

  • Redis数据结构:Zset类型全面解析
    Redis数据结构:Zset类型全面解析Redis,作为一种高性能的键值对数据库,因其丰富的数据类型和高效的性能而受到了广泛的关注和使用。在Redis的五种主要数据类型中,Zset(有序集合)类型可能是最复杂,但也是最强大的一种。Zset不仅可以存储键值对,还可以为每个元素分配一个分数,然后根......
  • 【数据结构与算法】:十大经典排序算法
    文章目录前言一、冒泡排序(BubbleSort)1.1冒泡排序原理1.2冒泡排序代码1.3输出结果二、选择排序(SelectionSort)2.1选择排序原理2.2选择排序代码2.3输出结果三、插入排序(InsertionSort)3.1插入排序原理3.2插入排序代码3.3输出结果四、希尔排序4.1希尔排序原......
  • 2024杭电多校08-1008《cats 的数据结构》
    题目链接Problem-7524分析:我们发现最重要的一个条件是:父节点的ai,bi都会比子节点的ai,bi(对应)大。那么单独考虑ai,可以发现,按dfs序是可以办到“父——>子”这一过程的。题目又限制父子节点关系和ai,bi大小关系是充要条件,那么不能把A的儿子ai,bi设的“太小”使其错误地......
  • 算法与数据结构——二叉树数组表示
    二叉树数组表示在链表表示下,二叉树的存储单元为节点TreeNode,节点之间通过指针相连接。同前面的队列或栈,二叉树同样可以使用数组来表示。表示完美二叉树给定一棵完美二叉树,我们将所有节点按照层序遍历的顺序存储在一个数组中,则每个节点都对应唯一的数组索引。按照层序遍历的特......
  • OpenHarmony 实战开发——内核IPC机制数据结构解析
    一、前言OpenAtomOpenHarmony(以下简称“OpenHarmony”)是由开放原子开源基金会(OpenAtomFoundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。作为面向全场景、全连接、全智能......
  • [数据结构] 循环队列
    front:头指针rear:尾指针maxsize:数组长度循环队列通常会让留空数组中的一位,区分队列为空和队列为满的状态。入队移动rear,出队移动front。形式1(默认):front指向队头元素的前一位,而rear指向队尾元素。队列为空:front==rear队列为满:front==(rear+1)%maxsize元素个数:(r......
  • 数据结构与算法(链表)
    目录单链表结构线性表的链式存储结构 链式存储实现链表创建创建同时赋值尾结点插入任意节点插入获取某位置的地址输出链表元素删除某位置节点删除链表返回某元素位置对链表元素冒泡排序对链表元素排序单链表结构将线性表L=(a0,a1,……,an-1)中各元素分布在......
  • 深度学习实践的一些基本概念
    forward函数自动被调用是PyTorch设计的一部分,这种设计是为了简化神经网络模型的实现和使用。在PyTorch中,forward函数是nn.Module类的一个核心组成部分,它是PyTorch神经网络模块的默认前向传播方法。为什么设计成自动调用?封装性:通过自动调用forward函数,PyTorch......
  • 25版王道数据结构课后习题详细分析 第六章 图 6.4图的应用
    一、单项选择题————————————————————————————————————————解析:正确答案:————————————————————————————————————————解析:正确答案:—————————————————————......
  • 25版王道数据结构课后习题详细分析 第六章 图 6.2图的遍历
    一、单项选择题————————————————————————————————————————解析:广度优先搜索以起始结点为中心,一层一层地向外层扩展遍历图的顶点,因此无法考虑到边权值,只适合求边权值相等的图的单源最短路径。广度优先搜索相当于树的层序遍历,选项Ⅲ......