1.1.2数据结构的三要素

一.数据结构的三要素

数据结构这门课着重关注的是数据元素之间的关系,和对这些数据元素的操作,而不关心具体的数据项内容 。

1.逻辑结构

(1)集合结构

(2)线性结构

数据元素之间是一对一的关系。除了第一个元素,所有元素都有唯一前驱;除了最后一个元素,所有元素都有唯一后继 。

(3)树形结构

数据元素之间是一对多的关系。

(4)图状结构

数据元素之间是多对多的关系。

二.数据结构的运算

针对某种逻辑结构,结合实际需求,定义某种运算。

三.物理结构(存储结构)

如何用计算机来表示数据元素的逻辑关系?

1.顺序存储 

 

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

2.链式存储。

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

3.索引存储

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

4.散列存储

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

1. 若采用顺序存储,则各个数据元素在物理上必须是连续的;若采用非顺序存储,则各个数据元素在物理上可以是离散的。
2.数据的存储结构会影响存储空间分配的方便程度
3.数据的存储结构会影响对数据运算的速度 (在b和d之间插入c)

例如:

运算的定义是针对逻辑结构的,指出运算的功能;
运算的实现是针对存储结构的,指出运算的具体操作步骤。

四.数据类型和抽象数据类型

数据类型是一个值的集合和定义在此集合上的一组操作的总称。
(1)原子类型:其值不可再分的数据类型。

(2)结构类型:其值可以再分解为若干成分(分量)的数据类型。

抽象数据类型 (Abstract Data Type, ADT)是抽象数据组织及与之相关的操作。

 总结:

完! 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

虚幻引擎 快速的色度抠图 Chroma Key 算法

快就完了 ColorTolerance_PxRange为容差,这里是0-255的输入,也就是px单位,直接用0-1可以更快 Key为目标颜色

[数据集][目标检测]护目镜检测数据集VOC+YOLO格式888张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):888 标注数量(xml文件个数):888 标注数量(txt文件个数):888 标注类别…

【微信小程序开发实战项目】——花店微信小程序实战项目(4)

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

10种有效提高电子设备可靠性的PCB散热技术

在现代电子领域,随着器件尺寸的不断缩小和性能的不断提高,热管理问题日益凸显,不容忽视。电子设备在运行过程中产生的热量,如果处理不当,散发不了,就会像潜移默化的威胁一样,悄无声息地危及设备…

Desktop docker 部署 WordPress

Desktop Docker 部署 WordPress 之前都是在Linux里面玩的,今天看到别人在windwos下安装docker,一时兴起装了一个试试,效果一般,很吃硬盘空间和内存。 首先在docker官方下载桌面版,安装下一步一直到完成。 安装完docker会自动加入到环境变量,而且docker-compose也会一并安…

SPLL单相软件锁相环相关源代码理解-SOGI及PI系数计算

最近在学习TI的TIDA-010062(DSP型号用的是TMS320F280049C),也就是1kW、80 Plus Titanium、GaN CCM 图腾柱无桥 PFC 和半桥 LLC(具有 LFU)参考设计。在整个框图中看到SPLL_1ph_SOGI的模块(实验4:…

软件测试面试题集(含答案)

软件测试面试题集一、Bug基本要素 缺陷ID,状态,类型,所属项目,所属模块,缺陷提交时间,缺陷提交人(检测者),严重程度,优先级别,缺陷描述信息&#…

【TS】TypeScript 联合类型详解:解锁更灵活的类型系统

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 TypeScript 联合类型详解:解锁更灵活的类型系统一、联合类型的定义二…

一站式采购!麒麟信安CentOS安全加固套件上架华为云云商店

近日,麒麟信安CentOS安全加固套件正式上架华为云云商店,用户可登录华为云官网搜索“CentOS安全加固”直接采购,一站式获取所需资源。 麒麟信安CentOS安全加固套件已上架华为云 https://marketplace.huaweicloud.com/contents/9fe76553-8d87-…

后端部署Jar包 | 启动失败系列问题(图解-BuiId,Maven)

目录 项目的构建 打包前的准备 合理配置pox.xml文件 Build 打包方式 Maven打包方式 Jar包部署 测试后端接口 项目的构建 我的项目是SpringBoot2脚手架 先准备一个相对于的数据库依赖 数据库的任意库 Yaml配置后 才能正常在IDEA中跑起来 打包前的准备 合理配置pox.xm…

推荐的一键下载1688高保真原图信息

图片在电商中扮演着至关重要的角色。高质量的商品图片能够直观展示产品特性,吸引消费者注意力,提升购买欲望。良好的视觉呈现还能增强品牌形象,提高转化率。此外,图片是跨语言的沟通方式,能够克服语言障碍,…

linux——小细节(Makefile)(gdb)

一、makefile a.out:main.c func.cgcc main.c func.cclean:rm a.out a.out:main.c func.cgcc $^ -o $clean:rm a.out SRCmain.c func.c OBJa.out CCgcc FLAG -g -lpthread $(OBJ):$(SRC)$(CC) $(SRC) $(FLAG)clean:rm $(OBJ) 二、gdb

快速傅里叶变换(Fast Fourier Transform)

快速算法(FFT),即快速傅里叶变换(Fast Fourier Transform),是一种用于计算离散傅里叶变换(DFT)及其逆变换的高效算法。FFT算法由J.W.库利和T.W.图基于1965年提出,显著减少…

7-google::protobuf::io命名空间下常用的C++ API----zero_copy_stream_impl.h

一、protobuf输入输出文件流C API总览 二、经常会用到的API

昇思25天学习打卡营第12天|MindSpore-基于MobileNetv2的垃圾分类

基于MobileNetv2的垃圾分类 主要介绍垃圾分类代码开发的方法。通过读取本地图像数据作为输入,对图像中的垃圾物体进行检测,并且将检测结果图片保存到文件中。 1、实验目的 了解熟悉垃圾分类应用代码的编写(Python语言);了解Linux操作系统的基本使用;掌握atc命令进行模型…

每日Attention学习8——Rectangular self-Calibration Attention

模块出处 [ECCV 24] [link] [code] Context-Guided Spatial Feature Reconstruction for Efficient Semantic Segmentation 模块名称 Rectangular self-Calibration Attention (RCA) 模块作用 空间注意力 模块结构 模块代码 import torch import torch.nn as nn import tor…

Redis基础教程(十四):Redis连接

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

Turborepo简易教程

参考官网:https://turbo.build/repo/docs 开始 安装全新的项目 pnpm dlx create-turbolatest测试应用包含: 两个可部署的应用三个共享库 运行: pnpm install pnpm dev会启动两个应用web(http://localhost:3000/)、docs(http://localhost…

程序员,去哪个城市工作更幸福?

深漂、沪漂、京漂、杭漂……又是一年毕业季,作为CS专业or新手程序员会选择什么城市工作呢?希望这篇文章给各位一些参考。 根据拉勾招聘大数据研究院的数据显示,超六成程序员集中在一线城市,其中北京19%,深圳16%&#x…

【遇坑笔记】Node.js 开发环境与配置 Visual Studio Code

【遇坑笔记】Node.js 开发环境与配置 Visual Studio Code 前言node.js开发环境配置解决pnpm 不是内部或外部命令的问题(pnpm安装教程)解决 pnpm : 无法加载文件 C:\Program Files\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本。 vscode 插件开…