数据结构的概念和术语

目录

一.前言

二.数据结构的基本概念

三.数据结构的术语


一.前言

        数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科。数据结构的基本数据结构包括两部分,线性结构跟非线性结构

二.数据结构的基本概念

        数据结构主要包括以下三个方面的内容:

1)数据元素之间的逻辑关系,也称为逻辑结构。

2)数据元素及其关系在计算机内存中的表示(又称为映像),成为数据的物理结构或数据的存储结构。

3)数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。

其中,逻辑结构又可以分为四种:

1)集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无任何其它关系。

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

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

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

三.数据结构的术语

        1.数据:是能输入计算机并且能被计算机处理的各种符号的集合。

        2.数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

        3.数据项:组成数据元素的基本单位。一个数据元素能够包含若干个数据项。

综上,可以得到这三者之间的大小关系:数据>数据元素>数据项.

下面我们来介绍下与上面三者息息相关的数据对象。所谓数据对象,也就是性质相同的数据元素的集合,它就是数据的一个子集。

在有了数据之后,肯定还是不够的,当然还得拥有数据类型。我们之前所学习的C语言基本上都用的基本数据类型,用来约束变量或常量的取值范围和操作。而在我们数据结构当中,我们又新增了一个抽象数据类型。如下所示:

在知道了抽象数据类型的概念之后,我们就可以对它进行定义了。 抽象数据类型的定义格式就为

ADT  抽象数据类型名{

        数据对象:<数据对象的定义>

        数据关系:<数据关系的定义>

        基本操作:<基本操作的定义>

}ADT 抽象数据类型名

其中,数据对象和数据关系就是定义好一个对象,并列出它们之间的关系。这里我们主要学习其中的基本操作。

基本操作的定义格式如下:

1)基本操作名(参数表)

2)初始条件:<初始条件描述>

3)操作结果:<操作结果描述>
 

 最后,我们再来理清整体思维导图。如下所示:

以上便是我们数据结构的基本概念和术语的所有内容了。 

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

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

相关文章

压测实操--kafka broker压测方案

作者&#xff1a;九月 环境信息&#xff1a; 操作系统centos7.9&#xff0c;kafka版本为hdp集群中的2.0版本。 kafka broker参数 num.replica.fetchers&#xff1a;副本抓取的相应参数&#xff0c;如果发生ISR频繁进出的情况或follower无法追上leader的情况则适当增加该值&…

CTF ssrf 基础入门

0x01 引言 我发现我其实并不是很明白这个东西&#xff0c;有些微妙&#xff0c;而且记忆中也就记得Gopherus这个工具了&#xff0c;所以重新学习了一下&#xff0c;顺便记录一下吧 0x02 辨别 我们拿到一个题目&#xff0c;他的名字可能就是题目类型&#xff0c;但是也有可能…

划分型dp,CF 1935C - Messenger in MAC

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1935C - Messenger in MAC 二、解题报告 1、思路分析 比较简单的思路是反悔贪心&#xff0c;这里不展开说了&#xff0c;来说一下dp的做法 由于式子里面带绝对值&#xff0c;很烦&#xff0c;我们将pair按…

Bootstrap实现dialog上一步下一步多个弹窗交互

Bootstrap实现dialog上一步下一步多个弹窗交互 版本介绍&#xff1a; Bootstrap v3.3.7jQuery v3.5.1 一、功能介绍 重新设置bootstrap主题色内容区以card形式展示&#xff0c;纯js实现分页功能共两步骤&#xff0c;第一步选择模板&#xff0c;第二步进行其他操作步骤一内的按…

JAVA毕业设计153—基于Java+Springboot+小程序的校园维修管理系统小程序(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringboot小程序的校园维修管理系统小程序(源代码数据库)153 一、系统介绍 本项目分为用户、维修员、管理员三种角色 1、用户&#xff1a; 注册、登录、报修申报、报修…

师资培训丨AIGC 技术与大模型应用开发实战线下广州班莅临泰迪智能科技参观调研

7月23日&#xff0c;2024年第二期全国数字人才技能提升师资培训班——AIGC 技术与大模型应用开发实战线下广州班莅临广东泰迪智能科技股份有限公司产教融合实训基地参观调研&#xff0c;来自全国各地三十多名高校教师参与本次活动。泰迪智能科技董事长张良均、校企合作经理吴桂…

【Gin】架构的精妙编织:Gin框架中组合模式的革新实践与技术深度解析(上)

【Gin】架构的精妙编织&#xff1a;Gin框架中组合模式的革新实践与技术深度解析(上) 大家好 我是寸铁&#x1f44a; 【Gin】架构的精妙编织&#xff1a;Gin框架中组合模式的革新实践与技术深度解析(上)✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 本次文章分为上下两部分…

【区块链+绿色低碳】基于区块链的企业碳管理平台 | FISCO BCOS应用案例

在当今全球气候变化和环境问题日益严重的背景下&#xff0c;碳减排已成为全球共同面临的重要任务。作为能源消耗大户&#xff0c; 现代企业必须认识到碳减排的重要性&#xff0c;并采取有效措施实现碳减排。通过完善碳资产管理&#xff0c;企业可以清晰地了解 自身的碳排放情况…

矩估计与最大似然估计的通俗理解

点估计与区间估计 矩估计与最大似然估计都属于点估计&#xff0c;也就是估计出来的结果是一个具体的值。对比区间估计&#xff0c;通过样本得出的估计值是一个范围区间。例如估计一个人的年龄&#xff0c;点估计就是最终直接估计年龄为50岁&#xff0c;而区间估计是最终估计的…

探索原型设计的未来——Axure RP引领设计革新

在快节奏、高效率的现代产品开发过程中&#xff0c;原型设计工具成为了连接创意与实现的桥梁。而提到原型设计&#xff0c;我们不得不提Axure RP —— 一款集高保真原型设计、丰富交互制作及团队协作于一体的工具&#xff0c;已成为众多设计师和产品经理的首选。 获取Axure RP…

electron 网页TodoList应用打包win桌面软件数据持久化

参考&#xff1a; electron 网页TodoList工具打包成win桌面应用exe https://blog.csdn.net/weixin_42357472/article/details/140648621 electron直接打包exe应用&#xff0c;打开网页上面添加的task在重启后为空&#xff0c;历史没有被保存&#xff0c;需要持久化工具保存之前…

从数据时代到智能时代,星环科技信雅达联合发布金融全栈解决方案

近年来&#xff0c;星环科技与信雅达在金融行业的多个关键领域展开了广泛而深入的合作&#xff0c;推出了一系列面向金融科技领域的联合解决方案。此次合作基于星环科技在大数据、人工智能和云计算领域的先进技术&#xff0c;以及信雅达在金融领域的深厚积累&#xff0c;围绕数…

nms概念

nms基本概念&#xff1a;非极大值抑制 用途&#xff1a;在做目标检测的时候&#xff0c;往往会生成很多很多候选框&#xff0c;在做目标检测的时候&#xff0c;往往会生成很多很多候选框。 处理流程&#xff1a; 1.对某一类按score对候选框进行排序&#xff0c;并选出score最…

META 备受期待的 Llama 3 405B 即将发布

本心、输入输出、结果 文章目录 META 备受期待的 Llama 3 405B 即将发布前言Llama 3 405B或许会彻底改变专用模型的数据质量Llama 3 405B将形成新的模型生态系统:从基础模型到专家组合Llama 3 405B有最高效 API 的竞争Llama 3 405B 基准测试META 备受期待的 Llama 3 405B 即将…

【Unity国产化信创平台】麒麟银河V10系统虚拟机创建

目录 一、麒麟V10系统镜像下载 二、虚拟机创建流程 三、麒麟银河系统安装流程 一、麒麟V10系统镜像下载 https://www.kylinos.cn/# 官方访问还是会有问题&#xff0c;如果有需要麒麟银河Kylin系统V10的镜像文件&#xff0c;可以留下邮箱或者私信博主获取。 二、虚拟机创…

SpringBoot3 JDK21 Vue3开源后台RBAC管理系统 | 2024年好用的开源RBAC管理系统 | 数据权限的探索

序言 项目现已全面开源&#xff0c;商业用途完全免费&#xff01; 当前版本&#xff1a;v0.7.2。 如果喜欢这个项目或支持作者&#xff0c;欢迎Star、Fork、Watch 一键三连 &#x1f680;&#xff01;&#xff01; 在构建此代码框架的过程中&#xff0c;我已投入了大量精力&…

Nginx Proxy缓存

Proxy缓存 缓存类型 网页缓存 &#xff08;公网&#xff09;CDN数据库缓存 memcache redis网页缓存 nginx-proxy客户端缓存 浏览器缓存 模块 ngx_http_proxy_module 语法 缓存开关 Syntax: proxy_cache zone | off; Default: proxy_cache off; Context: http,…

Android Studio Build窗口出现中文乱码问题

刚安装成功的android studio软件打开工程&#xff0c;编译时下方build窗口中中文是乱码。 解决&#xff1a; 可点击studio状态栏的Help—>Edit Custom VM Options &#xff0c;在打开的studio64.exe.vmoptions文件后面添加&#xff1a;(要注意不能有空格&#xff0c;否则st…

科技前沿:Llama 3.1的突破与革新

在科技的长河中&#xff0c;每一次模型的更新都是对人类智慧的致敬。今天&#xff0c;我们将聚焦于Meta公司最新发布的Llama 3.1系列模型&#xff0c;探索其在AI领域的前沿突破。 新模型的诞生 自去年以来&#xff0c;Meta公司不断推进人工智能技术的发展&#xff0c;终于在近…

Visual Studio 2022新建 cmake 工程测试 opencv helloworld

1. 参考博客&#xff1a; 1.1. https://blog.csdn.net/yangSHU21/article/details/130237669( 利用OpenCV把一幅彩色图像转换成灰度图 )( vs2022_cmake_test.cpp 中的代码用的此博客的&#xff0c;就改了下图片文件路径而已 ) 2. 检查 Visual Studio 2022是否支持 cmake&#…