当前位置: 首页 > news >正文

1.1 数据结构的基本概念

1.1.1 基本概念和术语

一、数据、数据对象、数据元素和数据项的概念和关系

数据:是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。

           数据是计算机程序加工的原料。

数据对象:是具有相同性质的数据元素的集合,是数据的一个子集。

数据元素:是数据的基本单位,通常作为一个整体进行考虑和处理。

数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。

图解四者的关系

二、数据类型

原子类型:其值不可再分的数据类型。

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

抽象数据类型:一个数学模型及定义在该数学模型上的一组操作。

1.1.2 数据结构的三要素

一、数据的逻辑结构

逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的存储无关,是独立于计算机的。

数据的逻辑结构整体图

集合:结构中的数据元素之间除“同属一个集合”外,别无其他关系。

线性结构:结构中的数据元素之间只存在一对一的关系。

树形结构:结构中的数据元素之间存在一对多的关系。

图状结构或网状结构:结构中的数据元素之间存在多对多的关系。

二、数据的存储结构

存储结构是指数据结构在计算机中的表示(又称映像),也称为物理结构。它包括数据元素的表示和关系的表示,数据的存储结构是用计算机语言实现的逻辑结构,它依赖于计算机语言。

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

优点:①随机存取;

           ②每个元素占用最少的存储空间;

缺点:只能用相邻的一整块存储单元,因此可能产生较多的外部碎片。

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

优点:不会出现碎片现象,能充分利用所有的存储单元。

缺点:每个元素因为存储指针而占用额外的存储空间,且只能实现顺序存取。

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

优点:检索速度快。

缺点:①索引表会占用额外的存储空间;

          ②增加和删除数据时也需要修改索引表,会增加操作时间;

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

优点:增删改查的速度快。

缺点:如果散列函数不好,可能会出现元素存储单元的冲突,而解决冲突会增加时间和空间开销。

三、数据的运算

运算的定义:是针对逻辑结构的,指出运算的功能。

运算的实现:是针对存储结构的,指出运算的具体操作步骤。

相关文章:

1.1 数据结构的基本概念

1.1.1 基本概念和术语 一、数据、数据对象、数据元素和数据项的概念和关系 数据:是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。 数据是计算机程序加工的原料。 数据对象:是具有相同性质的数据元素的集合&…...

深度学习:GPT-2的MindSpore实践

GPT-2简介 GPT-2是一个由OpenAI于2019年提出的自回归语言模型。与GPT-1相比,仍基于Transformer Decoder架构,但是做出了一定改进。 模型规格上: GPT-1有117M参数,为下游微调任务提供预训练模型。 GPT-2显著增加了模型规模&…...

【Oracle11g SQL详解】ORDER BY 子句的排序规则与应用

ORDER BY 子句的排序规则与应用 在 Oracle 11g 中,ORDER BY 子句用于对查询结果进行排序。通过使用 ORDER BY,可以使返回的数据按照指定的列或表达式以升序或降序排列,便于数据的分析和呈现。本文将详细讲解 ORDER BY 子句的规则及其常见应用…...

YOLO系列论文综述(从YOLOv1到YOLOv11)【第15篇(完结):讨论和未来展望】

总结 0 前言1 YOLO与人工通用智能(AGI)2 YOLO作为“能够行动的神经网络”3 具身人工智能(EAI)4 边缘设备上的YOLO5 评估统计指标的挑战6 YOLO与环境影响 YOLO系列博文: 【第1篇:概述物体检测算法发展史、YO…...

Java设计模式 —— 【创建型模式】原型模式(浅拷贝、深拷贝)详解

文章目录 前言原型模式一、浅拷贝1、案例2、引用数据类型 二、深拷贝1、重写clone()方法2、序列化 总结 前言 先看一下传统的对象克隆方式: 原型类: public class Student {private String name;public Student(String name) {this.name name;}publi…...

SciAssess——评估大语言模型在科学文献处理中关于模型的记忆、理解和分析能力的基准

概述 大规模语言模型(如 Llama、Gemini 和 GPT-4)的最新进展因其卓越的自然语言理解和生成能力而备受关注。对这些模型进行评估对于确定其局限性和潜力以及促进进一步的技术进步非常重要。为此,人们提出了一些特定的基准来评估大规模语言模型…...

SQLModel与FastAPI结合:构建用户增删改查接口

SQLModel简介 SQLModel是一个现代化的Python库,旨在简化与数据库的交互。它结合了Pydantic和SQLAlchemy的优势,使得定义数据模型、进行数据验证和与数据库交互变得更加直观和高效。SQLModel由FastAPI的创始人Sebastin Ramrez开发,专为与FastA…...

【RISC-V CPU debug 专栏 2.3 -- Run Control】

文章目录 Run ControlHart 运行控制状态位状态信号操作流程时间与实现注意事项Run Control 在 RISC-V 调试架构中,运行控制模块通过管理多个状态位来对硬件线程(harts)的执行进行调节和控制。这些状态位帮助调试器请求暂停或恢复 harts,并在 hart 复位时进行控制。以下是运…...

探索 IntelliJ IDEA 中 Spring Boot 运行配置

前言 IntelliJ IDEA 作为一款功能强大的集成开发环境(IDE),为 Spring Boot 应用提供了丰富的运行配置选项,定义了如何在 IntelliJ IDEA 中运行 Spring Boot 应用程序,当从主类文件运行应用程序时,IDE 将创建…...

三除数枚举

给你一个整数 n 。如果 n 恰好有三个正除数 ,返回 true ;否则,返回 false 。 如果存在整数 k ,满足 n k * m ,那么整数 m 就是 n 的一个 除数 。 输入:n 4 输出:true 解释:4 有三…...

【051】基于51单片机温度计【Proteus仿真+Keil程序+报告+原理图】

☆、设计硬件组成:51单片机最小系统DS18B20温度传感器LCD1602液晶显示按键设置蜂鸣器LED灯。 1、本设计采用STC89C51/52、AT89C51/52、AT89S51/52作为主控芯片; 2、采用DS18B20温度传感器测量温度,并且通过LCD1602实时显示温度;…...

[Java]微服务之服务保护

雪崩问题 微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩 雪崩问题产生的原因是什么? 微服务相互调用,服务提供者出现故障或阻塞。服务调用者没有做好异常处理,导致自身故障。调用链中的所有服…...

自动驾驶目标检测融合全貌

1、early fusion 早期融合,特点用到几何空间转换3d到2d或者2d到3d的转换,用像素找点云或者用点云找像素。 2、deep fusion 深度融合,也是特征级别融合,也叫多模态融合,如bevfusion范式 3、late fusion 晚融合&#x…...

消息框(Message Box)的测试方法和测试用例

我来帮你了解消息框(Message Box)的测试方法和测试用例的编写。 我已经创建了一个测试用例示例,让我为你解释消息框测试的主要方面: 测试维度: 功能性测试:验证消息框的基本功能是否正常样式测试:确认不同类型消息框…...

Ubuntu 包管理

APT&dpkg 查看已安装包 查看所有已经安装的包 dpkg -l 查找包 apt search <package_name>搜索软件包列表&#xff0c;找到与搜索关键字匹配的包 dpkg与grep结合查找特定的包 dpkg -s <package>&#xff1a;查看某个安装包的详细信息 安装包 apt安装命令 更新…...

[Ubuntu] linux之Ubuntu18.04的下载及在虚拟机中详细安装过程(附有下载链接)

前言 ubuntu 链接&#xff1a;https://pan.quark.cn/s/283509d0d36e 提取码&#xff1a;dfT1 链接失效&#xff08;可能被官方和谐&#xff09;可评论或私信我重发 下载压缩包后解压 &#xff01;&#xff01;安装路径不要有中文 下载后解压得到.iso文件&#xff0c;不要放在…...

ffmpeg安装(windows)

ffmpeg安装-windows 前言ffmpeg安装路径安装说明 前言 ffmpeg的安装也是开箱即用的,并没有小码哥说的那么难 ffmpeg安装路径 这就下载好了! 安装说明 将上面的bin目录加入到环境变量,然后在cmd中测试一下: C:\Users\12114\Desktop\test\TaskmgrPlayer\x64\Debug>ffmpe…...

服务器数据恢复—raid6阵列硬盘被误重组为raid5阵列的数据恢复案例

服务器存储数据恢复环境&#xff1a; 存储中有一组由12块硬盘组建的RAID6阵列&#xff0c;上层linux操作系统EXT3文件系统&#xff0c;该存储划分3个LUN。 服务器存储故障&分析&#xff1a; 存储中RAID6阵列不可用。为了抢救数据&#xff0c;运维人员使用原始RAID中的部分…...

linux内核编译启动总结

linux kernel 编译 升级汇总 写在前面内核编译获取kernel代码开始前的准备工作 编译过程1\.解压与净化将下载好的linux内核解压至/usr/src 2\. 得到源代码后,将其净化3\. 配置要进行编译的内核4.编译内核. &#xff08;15分钟&#xff09;5.编译模块.方法1:方法2&#xff1a; 6…...

Android Studio的AI工具插件使用介绍

Android Studio的AI工具插件使用介绍 一、前言 Android Studio 的 AI 工具插件具有诸多重要作用&#xff0c;以下是一些常见的方面&#xff1a; 代码生成与自动补全 代码优化与重构 代码解读 学习与知识获取 智能搜索与资源推荐实际使用中可以添加注释&#xff0c;解读某段代…...

本地部署 WireGuard 无需公网 IP 实现异地组网

WireGuard 是一个高性能、极简且易于配置的开源虚拟组网协议。使用路由侠内网穿透使其相互通讯。 第一步&#xff0c;服务端&#xff08;假设为公司电脑&#xff09;和客户端&#xff08;假设为公司外的电脑&#xff09;安装部署 WireGuard 1&#xff0c;点此下载&#xff08;…...

asyncio.ensure_future 与 asyncio.create_task:Python异步编程中的选择

asyncio.ensure_future 与 asyncio.create_task&#xff1a;Python异步编程中的选择 引言asyncio.ensure_futureasyncio.create_task两者的区别参数接受范围任务调度的保证代码可读性 哪个更好&#xff1f;使用asyncio.create_task使用asyncio.ensure_future 结论参考 引言 在…...

CTF之密码学(密码特征分析)

一.MD5,sha1,HMAC,NTLM 1.MD5&#xff1a;MD5一般由32/16位的数字(0-9)和字母(a-f)组成的字符串 2.sha1&#xff1a;这种加密的密文特征跟MD5差不多&#xff0c;只不过位数是40&#xff08;sha256&#xff1a;64位&#xff1b;sha512:128位&#xff09; 3.HMAC&#xff1a;这…...

JVM调优篇之JVM基础入门AND字节码文件解读

目录 Java程序编译class文件内容常量池附录-访问标识表附录-常量池类型列表 Java程序编译 Java文件通过编译成class文件后&#xff0c;通过JVM虚拟机解释字节码文件转为操作系统执行的二进制码运行。 规范 Java虚拟机有自己的一套规范&#xff0c;遵循这套规范&#xff0c;任…...

EXCEL截取某一列从第一个字符开始到特定字符结束的字符串到新的一列

使用EXCEL中的公式进行特定截取 假设列A是一组产品的编码&#xff0c;我们需要的数据是“-”之前的字段。 我们需要在B1单元格输入公式“LEFT(A1,SEARCH("-",A1)-1)”然后选中B1至B4单元格&#xff0c;按“CTRLD”向下填充&#xff0c;就可以得出其它几行“-”之前的…...

数据库期末复习题库

1. Mysql日志功能有哪些? 记录日常操作和错误信息&#xff0c;以便了解Mysql数据库的运行情况&#xff0c;日常操作&#xff0c;错误信息和进行相关的优化。 2. 数据库有哪些备份方法 完全备份&#xff1a;全部都备份一遍表备份&#xff1a;只提取数据库中的数据&#xff0…...

私有库gitea安装

一 gitea是什么 Gitea是一款自助Git服务&#xff0c;简单来说&#xff0c;就是可以一个私有的github。 搭建很容易。 Gitea依赖于Git。 类似Gitea的还有GitHub、Gitee、GitLab等。 以下是安装步骤。 二 安装sqilite 参考&#xff1a; 在windows上安装sqlite 三 安装git…...

关于最近win11不能使用ie,而不能使用考试客户端的解决方法

弄ie的那个我感觉是非常难的&#xff0c;所以我的是另一种的方法 下载360浏览器&#xff08;不是360全家桶&#xff09;360安全浏览器-全面保护上网安全&#xff0c;4亿用户共同选择&#xff08;上面的是官网&#xff0c;不要下载错了&#xff0c;还有安装界面注意不要勾选一下…...

深度学习之Mask-R-CNN

1.1 Mask-RCNN 的网络结构示意图 其中黑色部分为原来的Faster-RCNN&#xff0c;红色部分为在Faster网络上的修改&#xff1a;    1&#xff09;将ROI Pooling层替换成了ROIAlign&#xff1b;    2&#xff09;添加并列的FCN层&#xff08;Mask层&#xff09;&#xff1b;  …...

css包含块

包含块 出现 在css中一些属性的计算可能超出你的预料&#xff0c;在普遍情况下会认为定位属性和百分比的宽高是根据父元素计算的&#xff0c;但是准确来说他们都是根据元素所在的包含块来计算的&#xff0c;所以掌握包含块的知识是非常关键的。 内容 在CSS中&#xff0c;“…...

怎么在国外网站开发客户/怎么做好销售

近日服务器上的运行的一个站点经常性出现500错误。查了下服务器负载&#xff0c;负载正常。而后查询了下nginx记录的站点运行错误日志&#xff0c;发现提示Too many open files。因为站点静态文件居多&#xff0c;而且http请求结束后&#xff0c;打开的文件描述符会被自动关闭&…...

腾达建设哪里的/整站优化方案

rsync 学习 参考 http://www.cnblogs.com/itech/archive/2009/08/10/1542945.html 模式1 本地直接拷贝&#xff0c; 这个其实是调用了 cp 命令&#xff0c; 跟 rsync 服务器&#xff0c; 客户端无关。 /usr/myapp/logs 是本地日志目录 rsync /usr/myapp/logs /usr/myapp/logs2 …...

wordpress政府主题/windows优化大师官网

万维提示&#xff1a;1、投稿方式&#xff1a;在线投稿。2、期刊网址&#xff1a;https://journal.fi/afs/index3、投稿网址&#xff1a;https://journal.fi/afs/about/submissions4、官网邮箱&#xff1a;editorafsci.fi5、期刊刊期&#xff1a;季刊&#xff0c;逢季末月出版。…...

广告制作公司开票范围/百度seo排名优化如何

安装说明 下载Pixymon和pixy对应markone的固件&#xff0c;在这里。 固件必须是firmware_IRLOCKpixy_1.0.1.hex irlock markone 然后固件里 irlock pixy 给Pixy刷固件的方法 打开PixyMon&#xff0c;将Pixy连接到电脑&#xff0c;然后长按Pixy上的按钮&#xff0c;进入烧…...

宁波网站建设模板制作/北京百度网站排名优化

ScrollView是解决布局过长的情况下使用&#xff0c;一遍其下面会有个顶部布局&#xff0c;我项目里面是RelativeLayout&#xff0c;但是RelativeLayout无论设置 android:layout_height"wrap_content" 还是 android:layout_height"match_content" 都无法解决…...

做网站英语老师的简历/seo搜索引擎官网

...