【数据结构】浅谈

✨✨✨专栏:数据结构     

          🧑‍🎓个人主页:SWsunlight

目录

一、概念:

二、物理结构:

1、顺序存储结构:

2、链式存储结构:

3、数据索引存储结构:

4、数据散列存储结构:

三、不同的数据结构的相同操作


一、概念:

        数据结构计算机存储、组织数据的的一种方式指相互之间存在一种多种特定关系的数据元素的集合。数据结构反映数据的内部构成,即数据由那部分构成,以什么方式构成,以及数据元素之间呈现的结构(关系)。

数据结构往往同高效的检索算法和索引技术有关

将数据结构拆分成“结构”“数据”:

  • “数据”(Data):
  • 数据:信息的载体,描述客观事物的符号(可以是数值非数值
  • 数据元素:组成数据的,有一定意义的基本单位。(数据(集合)中的一个"个体"(又可称为元素、结点、顶点、记录等)
  • 数据项:一个数据元素可以有多个数据项。
    • 初等项:数据项在数据处理时不能再分割的最小单位
    • 组合项:可以在改项的基础上再分割
  • 数据对象:具有相同特性的数据元素的集合

举个例子:以学籍系统中为列

数据:将所有学生信息收集起来(集合在一起)

数据对象:学生记录

数据元素:关于一个学生的记录就是一个数据元素

数据项:一个学生的记录(数据元素)可以拆分为:身份证,学号,籍贯,姓名,性别,成绩,出生年月日等多个数据项        

初等项:姓名,性别,籍贯已经不能再分割了,也就是最小基本单位

组合项:成绩的话还可以细分到到具体学科


  • “结构”:
  • 结构:组织数据的方式(数据元素之间都不是孤立的,而是存在着一定的关系,这种关系称为结构(Structure))
  • 逻辑结构:数据对象中数据元素之间的相互关系(考虑这个问题的逻辑关系)
    • 图形结结构:数据结构中的元素存在多对多的相互关系。
    • 树形结构:   数据结构中的元素存在一对多的相互关系。
    • 集合结构:集合中的元素除了同属于一个集合之外,没有其他关系。
    • 线性结构:线性结构中的数据元素之间是一对一的关系。
  • 存储结构(物理结构):
    • 顺序存储结构:
    • 链式存储结构:
    • 数据索引存储结构:
    • 数据散列存储结构:

逻辑结构  面向问题的,而物理结构  就是面向计算机的,其基本的目标就是将数据及其逻辑关系存储到计算机的内存。 

二、物理结构:

数据的逻辑结构在计算机存储空间的存放形式被称为数据的物理结构。

1、顺序存储结构:

逻辑上相邻的结点存储在物理位置上相邻的存储单元里,节点之间的逻辑关系由存储单元的相邻关系来体现:计算机用一组连续的存储单元来存放数据()

特点:

1、随机存储表中的元素(随机访问)

2、插入和删除操作时,需要移动元素(效率低),大小固定(想要更大的空间,需要扩容)

2、链式存储结构:

计算机中用任意的存储单元存储线性表的数据元素(可以是连续的存储单元,也可以是不连续的存储单元);对于逻辑上连续的的节点,并不会硬性要求在物理位置上也是连续的。

特点:

1、大小动态扩展,插入删除效率高。

2、不能随机访问。

3、数据索引存储结构:

(后面补充)

4、数据散列存储结构:

后面再进行补充

三、不同的数据结构的相同操作

虽然不同数据结构操作集不同,但是都必须具备以下操作:

1,结构的生成;
2.结构的销毁;
3,在结构中查找满足规定条件的数据元素;
4,在结构中插入新的数据元素;
5,删除结构中已经存在的数据元素;
6,遍历;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/690859.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringAI 技术解析

1. 发展历史 SpringAI 的发展历史可以追溯到对 Spring 框架的扩展和改进,以支持人工智能相关的功能。随着人工智能技术的快速发展,SpringAI 逐渐成为 Spring 生态系统中的一个重要组成部分,为开发者提供了便捷、灵活的解决方案。 项目的灵感来…

【全面介绍下Spring】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

天机学堂—学习辅助功能(含场景问答和作业)

我的课表 需求分析 原型图 管理后台 用户端 流程图 数据设计 接口设计 支付成功报名课程后, 加入到我的课表(MQ)分页查询我的课表查询我正在学习的课程根据id查询指定课程的学习状态删除课表中的某课程 代码实现 数据表设计 添加课程到课表(非标准接口&#x…

【深耕 Python】Quantum Computing 量子计算机(5)量子物理概念(二)

写在前面 往期量子计算机博客: 【深耕 Python】Quantum Computing 量子计算机(1)图像绘制基础 【深耕 Python】Quantum Computing 量子计算机(2)绘制电子运动平面波 【深耕 Python】Quantum Computing 量子计算机&…

数据增强,迁移学习,Resnet分类实战

目录 1. 数据增强(Data Augmentation) 2. 迁移学习 3. 模型保存 4. 102种类花分类实战 1. 数据集 2.导入包 3. 数据读取与预处理操作 4. Datasets制作输入数据 5.将标签的名字读出 6.展示原始数据 7.加载models中提供的模型 8.初始化…

德国Dürr杜尔机器人维修技巧分析

在工业生产中,杜尔工业机器人因其高效、精准和稳定性而备受青睐。然而,即便是最精良的设备,也难免会出现Drr机械手故障。 一、传感器故障 1. 视觉传感器故障:可能导致机器人无法正确识别目标物,影响工作效率。解决方法…

力扣每日一题124:二叉树中的最大路径和

题目 困难 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root…

Apache ECharts

Apache ECharts介绍: Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。 官网地址:https://echarts.apache.org/zh/index.html Apache ECh…

基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能

基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功能寄存器…

Django项目运行报错:ModuleNotFoundError: No module named ‘MySQLdb‘

解决方法: 在__init__.py文件下,新增下面这段代码 import pymysql pymysql.install_as_MySQLdb() 注意:确保你的 python 有下载 pymysql 库,没有的话可以使用 pip install pymysql安装 原理:用pymysql来代替mysqlL…

深度学习:基于人工神经网络ANN的降雨预测

前言 系列专栏:【深度学习:算法项目实战】✨︎ 本专栏涉及创建深度学习模型、处理非结构化数据以及指导复杂的模型,如卷积神经网络(CNN)、递归神经网络 (RNN),包括长短期记忆 (LSTM) 、门控循环单元 (GRU)、自动编码器 (AE)、受限玻尔兹曼机(…

docker搭建redis6.0(docker rundocker compose演示)

文章讲了:docker下搭建redis6.0.20遇到一些问题,以及解决后的最佳实践方案 文章实现了: docker run搭建redisdocker compose搭建redis 搭建一个redis’的过程中遇到很多问题,先简单说一下搭建的顺序 找一个redis.conf文件&…