【数据结构1】数据结构的基本概念

2023-11-07

数据结构的基本概念

数据:数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。

数据元素、数据项:数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位

要根据实际的业务需求来确定什么是数据元素、什么是数据项
以微博账号为例
在这里插入图片描述

数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合
数据对象:是具有相同性质的数据元素的集合,是数据的一个子集

以海底捞排队系统为例
数据元素:
在这里插入图片描述
数据结构:某个特定门店的排队顾客信息和它们之间的关系
在这里插入图片描述
数据对象:全国所有门店的排队顾客信息
在这里插入图片描述


数据结构的三要素

逻辑结构、物理结构(存储结构)、数据的运算

逻辑结构——数据元素之间的逻辑关系是什么

  • 集合:各个元素同属一个集合,别无其他关系
    在这里插入图片描述

  • 线性结构:数据元素之间是一对一的关系,除了第一个元素,所有元素都有唯一前驱;除了最后一个元素,所有元素都有唯一后继
    在这里插入图片描述

  • 树形结构:数据元素之间是一对多的关系
    在这里插入图片描述

  • 图结构:数据元素之间是多对多的关系
    在这里插入图片描述

物理结构(存储结构)——如何用计算机表示数据元素的逻辑关系

  • 顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现

  • 链式存储:逻辑上相邻的元素在物理位置上可以不相邻,借助指向元素存储地址的指针来表示元素之间的逻辑关系

  • 索引存储:在存储元素信息的同时,还建立附加的索引表。索引表中的每项称为索引项,索引项的一般形式是(关键字,地址)
    在这里插入图片描述

  • 散列存储: 根据元素的关键字直接计算出该元素的存储地址,又称哈希存储

数据的运算

数据的运算——施加在数据上的运算包括运算的定义和实现。运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。

逻辑结构——线性结构(队列)
结合现实需求定义队列这种逻辑结构的运算:

  1. 队头元素出队
  2. 新元素入队
  3. 输出队列长度

存储结构——顺序、链式
在这里插入图片描述
顺序结构插入元素: 将新元素放到数据结构的末尾
链式结构插入元素:将新元素放到任意位置,使用指针把新元素连接到数据结构末尾

数据类型、抽象数据类型

数据类型:数据类型是一个值的集合和定义在此集合上的一组操作的总称。

  1. 原子类型。其值不可再分的数据类型。(int、bool)
  2. 结构类型。其值可以再分解为若干分量的数据类型(struct)

抽象数据类型(Abstract Data Type,ADT) 是抽象数据组织及与之相关的操作。
ADT用数学化的语言定义数据的逻辑结构、定义运算。与具体的实现无关。只有当用计算机实际实现的时候才需要考虑使用哪种物理结构

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【数据结构1】数据结构的基本概念 的相关文章

  • PCB Rules

    设计规则 Name 设计规则名称 Priority 优先级 数字越小优先级越高 Enabled 使能 Type 类型 Category 设计规则所属的类 Scope 设计规则作用的范围 Attributes 属性设置 1 概况 2 Elec

随机推荐

  • nodejs各种版本下载地址

    https nodejs org download release
  • java自动化测试语言高级之序列化

    java自动化测试语言高级之序列化 文章目录 java自动化测试语言高级之序列化 Java 序列化 Java 序列化 Java 提供了一种对象序列化的机制 该机制中 一个对象可以被表示为一个字节序列 该字节序列包括该对象的数据 有关对象的类
  • windows 服务器中tomcat 启动时复制替换项目中的某个文件

    Bat文件中的命令 复制命令 copy 删除命令 rd 复制命令 copy copy y 源文件路径 目标文件路径 echo off rem 注释复制app properties copy y D softwere apache tomca
  • Vivado中ILA(集成逻辑分析仪)的使用

    Vivado中ILA 集成逻辑分析仪 的使用 一 写在前面 二 ILA Integrated Logic Analyzer 的使用 2 1 ILA查找 2 2 ILA配置 2 2 1 General Options 2 2 2 Probe
  • Ble Mesh的Generic Model ID&Opcode

    MODEL ID 标准的为16为 自定义的Vendor Model ID为32位 Model Group Model Name SIG Model ID Generic Generic OnOff Server 0x1000 Generic
  • python批量请求(GET

    本案例为普通的测试案例 主要用于测试通过get请求和post请求产生响应是否一致 主要针对响应码为200的结果进行输出 没有什么技术含量 coding utf 8 import requests def apiRequest header
  • SLFCD的实验复现(深度学习camelyon病理)未完待续

    深度学习病理 针对精确注释病理数据集的分类方法 预处理部分 一 首先获取病理图片的标注信息 精确注释标签 利用ASAP对病理图片进行标注 会生成xml文件 可以先将xml文件转换成json文件 为什么要将xml文档转换成json json是
  • 基于Python中Tkinter库实现弹球游戏

    文章目录 前言 游戏玩法 程序设计 思路 问题修改 问题代码展示 修改后代码展示 完整代码 前言 在看一本Python书 正好有一个弹球游戏 书中的代码可以跑 就是有一个问题 若球遇到边界 就不弹回 正好发现一篇文章 解决了书中代码的问题
  • 创建新用户时PackageManager的动作

    PackageManagerService createNewUser Settings createNewUserLI for PackageSetting ps packages ps setInstalled ps isSystem
  • sql语句中case when then else函数用法

    Case具有两种格式 简单Case函数和Case搜索函数 简单Case函数 CASE sex WHEN 1 THEN 男 WHEN 2 THEN 女 ELSE 其他 END Case搜索函数 CASE WHEN sex 1 THEN 男 W
  • 如何使用html制作网页

    一 html简介 1 1概念 HTML即HyperText Mark up Language 意思是超文本标记语言 HTML不是一种编程语言 而是一种标记语言 超文本指的是超链接 标记指的是标签 是一种用来制作网页的语言 这种语言由一个个的
  • wget: not an http or ftp url_wget和crul命令参数使用详解

    wget是个专职的下载利器 简单 专一 极致 而curl可以下载 但是长项不在于下载 而在于模拟提交web数据 POST GET请求 调试网页 等等 在下载上 也各有所长 wget可以递归 支持断点 而curl支持URL中加入变量 因此可以
  • VS 2019社区版Microsoft账号无法登录及离线激活

    1 账号无法登录问题 VS 2019社区版使用一段时间后需要重新登录 以激活使用许可证 现象 在输入账号后点击 下一步 一直没有出现输入密码窗口 并提示 IE 浏览器版本过低 解决办法 下载 IE11 中文版64位地址 http downl
  • VS2010调试dump文件

    VC 利用PDB和dump文件定位问题并进行调试 转载 vc 调试 利用PDB和dump文件定位问题并进行调试 VS2010 woshizfs的博客 CSDN博客 转载 VC 使用pdb和dump恢复 案发现场 i chaoren的博客 C
  • 弹性计算

    弹性计算包括云服务器 云数据库 负载均衡 云服务器 整合了高性能服务器与优质网络资源 云OS统一管理集群资源 每个集群可虚拟出多个独立服务器 且可以在集群中自由迁移 数据存储在云OS 大大提高云服务器的稳定性 关系型数据库服务 一个基于高稳
  • Hex文件和bin文件以及flash大小关系

    Program Size Code 31128 RO data 6572 RW data 52 ZI data 1852 keil软件编译后会出现上面的提示 其意义如下 Code 指程序中代码的字节数 RO data 指程序中定义的常量字节
  • Oceanbase列传

    Oceanbase列传 分布式与存储技术 跳至内容 首页 关于郁白 文章列表 文章预告 正在追越狱第五季 两阶段提交的工程实践 两阶段提交 2 Phase Commit简称2PC 协议是用于在多个节点之间达成一致的通信协议 它是实现 有状态
  • 1000元一根的Type C数据线

    转自 https zhuanlan zhihu com p 179946944 苹果官方商城近日上架了一根数据线 官方名称 雷雳 3 Pro 售价 949 元 看到价格 我脑海中的第一反应是 谁会买这根近千元的数据线 是贫穷限制了我的想象力
  • spring boot自动装配之@EnableAutoConfiguration详解

    1 EnableAutoConfiguration作用 EnableAutoConfiguration用于类或接口上 在spring boot中注解位于 SpringBootApplication注解上 SpringBootConfigur
  • 【数据结构1】数据结构的基本概念

    数据结构的基本概念 数据 数据是信息的载体 是描述客观事物属性的数 字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合 数据是计算机程序加工的原料 数据元素 数据项 数据元素是数据的基本单位 通常作为一个整体进行考虑和处理 一个