数据结构 - 基本概念和术语

news2024/9/30 9:22:15

基础概念之间的关系大致如下:
在这里插入图片描述

一、数据、数据元素、数据项和数据对象

数据 > 数据对象 > 数据元素 > 数据项
类比数据库,这四个概念代表的含义如下所示:

  • 数据:整个数据库的所有数据
  • 数据对象:这个数据库的一张表,比如学籍表
  • 数据元素:学籍表里的一条记录
  • 数据项:学籍表里的一个字段值

1、数据(Data)

  • 概念:能输入计算机,且能被计算机处理的各种符号的集合
  • 包括:数值型数据(整数、实数等)、非数值型数据(文字、图像、图形、声音等)

2、数据元素(Data Element)

  • 概念:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理
  • 也简称为元素、或称为记录、结点或顶点
  • 数据元素可以由若干个数据项组成

如下图所示,每一行学生的信息,即为一条记录,也就是一个数据元素。
在这里插入图片描述

3、数据项(Data Item)

  • 构成数据元素的不可分割的最小单位(在数据库中,一个字段值就是一个数据项,一条记录就是一个数据元素)
    在这里插入图片描述

4、数据对象(Data Object)

  • 性质相同的数据元素的集合,是数据的一个子集

二、数据结构(Data Structure)

1、概念:

  • 数据元素不是孤立存在的,它们之间存在着某种关系,数据元素相互之间的关系称为结构

  • 是指相互之间存在一种或多种特定关系的数据元素集合

  • 或者说,数据结构是带结构的数据元素的集合

2、包含以下三方面的内容:

  • 数据元素之间的逻辑关系,也称为逻辑结构
  • 数据元素及其关系在计算机内存中的表示,称为数据的物理结构或数据的存储结构
  • 数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现

(一)逻辑结构

1、划分方法一:

  • 线性结构:线性表、栈、队列、串
  • 非线性结构:树、图

2、划分方法二:

  • 集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无任何其他关系
  • 线性结构:结构中的元素之间存在着一对一的线性关系
  • 树形结构:结构中的数据元素之间存在着一对多的层次关系
  • 图状结构或网状结构:结构中的数据元素之间存在着多对多的任意关系
    在这里插入图片描述

(二)存储结构

四种基本的存储结构:

  • 顺序存储
  • 链式存储
  • 索引存储
  • 散列存储

1、顺序存储结构

在这里插入图片描述

2、链式存储结构

在这里插入图片描述
在这里插入图片描述

3、索引存储结构

  • 在存储节点信息的同时,还建立附加的索引表
  • 例如:手机中的通讯录点开,是一个目录。可以根据首字母寻找对应的人物姓名,这就是索引表。而每个人名点进去之后,可以看到具体的联系人信息,这就是节点信息。

4、散列存储结构

在这里插入图片描述

三、数据类型和抽象数据类型

(一)数据类型(Data Type)

1、定义:数据类型是一组性质相同的值的集合,以及定义于这个值集合上的一组操作的总称。
数据类型=值的集合+值集合上的一组操作

(二)抽象数据类型(Abstract Data Type,ADT)

1、定义:是指一个数学模型,以及定义在此数学模型上的一组操作
在这里插入图片描述
2、抽象数据类型的表示与实现:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Shell脚本五:函数和数组

文章目录 1.函数1.1Shell函数的概念1.2函数的好处1.2函数的组成1.3函数的结构1.4查看函数列表1.5删除函数1.6函数的返回值1.6.1使用原则1.6.2示例 1.7函数的作用范围1.8函数递归1.8.1示例 2.数组2.1什么是数组2.2数组的作用2.3数组名和索引2.4定义数组的方式2.5普通数组和关联数…

深入理解分布式架构,构建高效可靠系统的关键

深入探讨分布式架构的核心概念、优势、挑战以及构建过程中的关键考虑因素。 引言什么是分布式架构?分布式架构的重要性 分布式系统的核心概念节点和通信数据分区与复制一致性与一致性模型负载均衡与容错性 常见的分布式架构模式客户端-服务器架构微服务架构事件驱动…

对Lua的理解

在redis和nginx中都潜入了Lua环境用于快速上手开发。但如何理解Lua以及Lua与宿主环境的交互是需要掌握的。 首先是Lua本身,打开5.1的lua版本开始编译后最后生成一个lua的可执行文件,这其实就是一个包含了Lua虚拟机的终端.。所以其实在不管redis也好nginx…

2023/8/20周报

目录 摘要 论文阅读 1、标题和现存问题 2、准备知识 3、模型结构 4、实验准备 5、实验结果 深度学习 1、构建图数据 2、GCN模型 3、当前实验结果 总结 摘要 本周在论文阅读上,阅读了一篇时空图卷积网络:交通预测的深度学习框架的论文。文章的时空图卷积…

NOIP2014普及组,提高组 比例简化 飞扬的小鸟 答案

比例简化 说明 在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结果。例如,对某一观点表示支持的有1498 人,反对的有 902人,那么赞同与反对的比例可以简单的记为1498:902。 不过,如果把调查结果就以这种…

Leetcode-每日一题【剑指 Offer 33. 二叉搜索树的后序遍历序列】

题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3 示例 1: 输入: […

第4天----找出第一个只出现一次的字符(桶计数法/4种思路讲解)

题目描述 给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出 no。 输入格式 一个字符串,长度小于 1100。 输出格式 输出第一个仅出现一次的字符,若没有则输出 no。 输入输出样例 输入 #1复制 abc 输…

鸿蒙/Android上最大的毒瘤:快应用服务

鸿蒙/Android上最大的毒瘤:快应用服务 2023.3.22版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 1、什么是快应用? “快应用” 是安卓厂(华,米,O、V、魅族、努、联、加&#xf…

消息中间件的选择:RabbitMQ是一个明智的选择

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! MQ(Message Queue) MQ(消息队列)是一种用于在应用程序之间进行异步通信的技术;允许应用程序通过发送和接收…

[虚幻引擎] DTGlobalVariable 插件说明,蓝图全局变量访问,设置, Get, Set。

本插件可以在蓝图或者UMG中直接访问指定的全局变量值,方便编写。 支持Bool,Byte,Int,Int64,Float,Name,String,Text,Vector,Rotator,Transform&am…

【Linux网络】网络编程套接字 -- 基于socket实现一个简单UDP网络程序

认识端口号网络字节序处理字节序函数 htonl、htons、ntohl、ntohs socketsocket编程接口sockaddr结构结尾实现UDP程序的socket接口使用解析socket处理 IP 地址的函数初始化sockaddr_inbindrecvfromsendto 实现一个简单的UDP网络程序封装服务器相关代码封装客户端相关代码实验结…

TE-L-Tyrosine (FET-precursor),合成蛋白质的必需成分之一,L-Tyrosine

试剂简介:TE-L-Tyrosine (FET-precursor),L-Tyrosine是一种氨基酸,它是蛋白质合成的必需成分之一。除了在蛋白质合成中的重要作用外,L-Tyrosine还具有多种生理功能。它是肾上腺素、去甲肾上腺素、甲状腺激素等重要激素的前体物质&…

短视频矩阵系统源码|开发者步骤

一、为了开发和部署短视频矩阵系统,首先需要进行以下步骤: 1. 系统设计与开发:根据需求,进行系统架构设计,并选择合适的技术栈进行开发。这可能涉及到前端开发、后端开发、数据库设计等工作。 2. 实现核心功能&#…

AIGC与软件测试的融合

一、ChatGPT与AIGC 生成式人工智能——AIGC(Artificial Intelligence Generated Content),是指基于生成对抗网络、大型预训练模型等人工智能的技术方法,通过已有数据的学习和识别,以适当的泛化能力生成相关内容的技术。…

MySQL运行时的可观测性

1.说在前面的话 2.安装employees测试库 3.观测SQL运行状态 3.1 观测SQL运行时的内存消耗3.2 观测SQL运行时的其他开销3.3 观测SQL运行进度 感知SQL运行时的状态 1. 说在前面的话 在MySQL里,一条SQL运行时产生多少磁盘I/O,占用多少内存,是否…

Ctfshow web入门 命令执行RCE篇 web29-web77 与 web118-web124 详细题解 全

Ctfshow 命令执行 web29 pregmatch是正则匹配函数,匹配是否包含flag,if(!preg_match("/flag/i", $c)),/i忽略大小写 可以利用system来间接执行系统命令 flag采用f*绕过,或者mv fl?g.php 1.txt修改文件名&#xff0c…

一文彻底理解时间复杂度和空间复杂度(附实例)

目录 1 PNP?2 时间复杂度2.1 常数阶复杂度2.2 对数阶复杂度2.3 线性阶复杂度2.4 平方阶复杂度2.5 指数阶复杂度2.6 总结 3 空间复杂度 1 PNP? P类问题(Polynomial)指在多项式时间内能求解的问题;NP类问题(Non-Deterministic Polynomial)指在…

数据中心UPS监控,不服不行!

UPS作为关键的电力保障设备,它在电力中断或波动的情况下,为电子设备提供稳定的备用电源,以防止数据丢失、设备损坏或生产中断。 通过远程监控、电池健康检测、负载管理、警报通知等功能,UPS监控确保了系统的高效运行和可靠性。同时…

Windows下安装tomcat无法启动问题汇总和解决

tomcat在初学的时候安装总是出现各种问题,最近重新安装了一次,居然也被一些小问题导致无法启动了,特此写下这篇文章,希望能帮助到大家 导致tomcat启动失败原因 1、未配置tomcat环境变量: CATALINA_HOME;然后path环境…

扭矩张力控制和速度张力控制详细介绍

张力控制的开环和闭环相关算法介绍,请查看下面文章链接: PLC张力控制(开环闭环算法分析)_张力控制plc程序实例_RXXW_Dor的博客-CSDN博客里工业控制张力控制无处不在,也衍生出很多张力控制专用控制器,磁粉制动器等,本篇博客主要讨论PLC的张力控制相关应用和算法,关于绕…