初识数据结构

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
     熬过了我们不想要的生活,我们就能过自己想要的生活!

一起加油!

目录

一、前言:

二、有关术语和概念: 

 💦数据:

💦数据元素:

💦数据项 :

💦数据结构:

💦数据类型:

💦抽象数据类型:

三、总结:

四、共勉:

 


一、前言:

        数据作为计算机加工处理的对象,如何在计算机中表示和存储数据是计算机科学研究的主要内容之一,更是计算机技术需要解决的关键问题之一。数据是计算机化的信息,是计算机处理的主要对象。科学计算、数据处理、过程控制、文件存储、数据库技术等,都涉及对数据进行加工处理的过程。因此,要设计出一个结构好、效率高的程序,必须研究数据的特性、数据间的相互关系及其对应的存储表示方法,并利用这些特性和关系设计相应的算法和程序。

二、有关术语和概念: 

 在系统地学习数据结构知识之前,先对一些基本概念和术语赋予确切的定义。


 💦数据:

        数据(Data)是信息的载体,它能够被计算机识别、存储和处理,数据是计算机程序加工的原料,应用程序能处理各种各样的数据,包括数值数据和非数值数据数值数据是一些整数、实数或复数非数值数据包括字符、文字、图形、图像、语音等。

💦数据元素:

        数据元素(Data Element)是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项(Date Item)组成。在相同条件下,数据元素又可称为数据元素、节点、顶点、记录等。

💦数据项 :

        数据项(Data Item)指不可分割的、具有独立意义的最小数据单位数据项有时也称为字段(Field)或域。例如,学籍管理系统中学生信息表的每一个数据元素就是一个学生记录。它包括学生的学号、姓名、性别、籍贯、出生年月、成绩等数据项。这些数据项可以分为两种:一种叫作初等项,如学生的性别、籍贯等,这些数据项是在数据处理时不能再分割的最小单位;另一种叫作组合项,如学生的成绩,它可以再划分为数学、物理、化学等更小的项。通常,在解决实际应用问题时把每个学生记录当作一个基本单位进行访问和处理。

💦数据结构:

        数据结构(Data Structure)是指互相之间存在着一种或多种关系的数据元素的集合。在任何问题中,数据元素都不会是孤立的,在它们之间存在着这样或那样的关系,这种数据元素之间存在的关系称为数据的逻辑结构。根据数据元素之间关系的不同特性,通常有以下4类基本的逻辑结构。
     集合结构:在集合结构中,数据元素之间的关系是“属于同一个集合”。数据元素之间除了同属一个集合,不存在其他关系。

     ✨线性结构:在该结构中,数据元素除了同属于一个集合,数据元素之间还存在着一对一的顺序关系。
     ✨树形结构:该结构的数据元素之间存在着一对多的层次关系。

     ✨图状结构:该结构的数据元素之间存在着多对多的任意关系,图状结构也称为网状结构。

       ⚡ 从上面所介绍的数据结构的概念中可以知道,一个数据结构有两个要素:一是数据元素,二是数据元素之间的关系

💦数据类型:

        数据类型(Data Type)是和数据结构密切相关的一个概念,在高级程序设计语言中用以限制变量取值范围和可能进行的运算的总和称为数据类型。因此,所谓数据类型,一是限定了数据的取值范围(实际上与存储形式有关);二是规定了数据能够进行的一组运算(运算)。数据类型可分为两类:一类是非结构的原子类型,原子类型的值是不可再分解的,如C语言中的基本类型(整型、实型、字符型及指针类型和空类型):另一类是结构类型,它的成分可以由多个结构类型组成,并可以分解。结构类型的成分可以是非结构的,也可以是结构的。例如,数组的值由若干分量组成,每个分量可以是整数等基本类型,也可以是数组等结构类型。

💦抽象数据类型:

        抽象数据类型(Abstract Data Type,ADT)是指一个数学模型及定义在该模型上的一组运算。抽象数据类型的定义取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即无论其内部结构如何变化,只要它的数学特性不变,就不影响其外部的使用。抽象数据类型和数据类型实质上是一个概念。例如,各种计算机都拥有的整数类型就是一个抽象数据类型,尽管它们在不同处理器上的实现方法可以不同,但由于其定义的数学特性相同,在用户看来都是相同的。因此,“抽象”的意义在于数据类型的数学抽象特性抽象数据类型的定义可以由一种数据结构和定义在其上的一组运算组成,而数据结构又包括数据元素及数据元素间的关系,因此抽象数据类型一般可以由数据元素、关系及运算三个要素来定义


三、总结:

  • 数据:是信息的载体。
  •  数据元素:是数据的基本单位。
  • 数据项:指不可分割的、具有独立意义的最小数据单位。
  • 数据结构:是指互相之间存在着一种或多种关系的数据元素的集合
  • 数据元素都不会是孤立的
  • 4类基本的逻辑结构🔑集合结构🔑线性结构🔑树形结构🔑图状结构
  • 数据类型:在高级程序设计语言中用以限制变量取值范围和可能进行的运算的总和。
  • 抽象数据类型:是指一个数学模型及定义在该模型上的一组运算

四、共勉:

        以上就是我对数据结构的理解,希望本篇文章对你有所帮助,也希望可以支持支持博主,后续博主也会定期更新学习记录,记录学习过程中的点点滴滴。如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对数据结构的理解,请持续关注我哦!!! 

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

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

相关文章

麒麟V10服务器搭建FTP服务

概念 1.1介绍 FTP:File transfer protocol 文件传输协议 1.2原理 默认采用被动模式 被动模式FTP 为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被 动方式,或者叫做PASV,当客户端通…

Vue路由器(详细教程)

路由: 1.理解:一个路由(route)就是一组映射关系(key-value),多个路由需要路由器(router)进行管理。 2.前端路由:key是路径,value是组件。 1、先安装vue-router路由 npm i vue-route…

车载通信架构 —— 传统车内通信网络LIN总线(低成本覆盖低速场景)

车载通信架构 —— 传统车内通信网络LIN总线(低成本覆盖低速场景) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是…

redisserver一闪而过 redis闪退解决版本

1.进入Redis根目录 2.输入redis-server 或 redis-server.exe redis.windows.conf 启动redis命令,看是否成功。 执 一闪而过的问题 可能是因为已启动或者其他问题,需要重启 先输入redis-cli.exe再输入shutdown再输入redis-server.exe redis.windows.c…

扩散模型实战(十二):使用调度器DDIM反转来优化图像编辑

推荐阅读列表: 扩散模型实战(一):基本原理介绍 扩散模型实战(二):扩散模型的发展 扩散模型实战(三):扩散模型的应用 扩散模型实战(四&#xff…

计算机毕业设计|基于SpringBoot+MyBatis框架的电脑商城的设计与实现(用户上传头像+用户收货管理)

计算机毕业设计|基于SpringBootMyBatis框架的电脑商城的设计与实现(用户上传头像) 该项目分析着重于设计和实现基于SpringBootMyBatis框架的电脑商城。首先,通过深入分析项目所需数据,包括用户、商品、商品类别、收藏、订单、购物…

NX二次开发UF_CURVE_ask_parameterization 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_parameterization Defined in: uf_curve.h int UF_CURVE_ask_parameterization(tag_t object, double param_range [ 2 ] , int * periodicity ) overview 概述 Retu…

国产Ai大模型和chtgpt3.5的比较

下面是针对国产大模型,腾讯混元,百度文心一言,阿里通义千问和chatgpt的比较,最基础的对一篇文章的单词书进行统计,只有文心一言和chatgpt回答差不多,阿里和腾讯差太多了

深度学习中的注意力机制:原理、应用与实践

深度学习中的注意力机制:原理、应用与实践 摘要: 本文将深入探讨深度学习中的注意力机制,包括其原理、应用领域和实践方法。我们将通过详细的解析和代码示例,帮助读者更好地理解和应用注意力机制,从而提升深度学习模…

Vue快速实践总结 · 下篇

文章目录 组件间通信方式父 --> 子通信props插槽 子 --> 父通信(自定义事件)任意组件通信全局事件总线消息订阅与发布 Vuex工作原理运行环境简单使用GettersmapState与mapGettersmapActions与mapMutations模块化 命名空间 VueRouter路由的作用与分…

OpenWrt Lan口上网设置

LAN口上网设置 连接上openwrt,我用的 倍控N5105,eth0,看到Openwrt的IP是10.0.0.1 在 网络 -> 网口配置 -> 设置好 WAN 口和 LAN 口 初次使用经常重置 openwrt 所以我设置的是 静态IP模式 - 网络 -> 防火墙 -> 常规设置 ->…

7.私信列表 + 发送列表

目录 1.私信列表 1.1 数据访问层 1.2 业务层 1.3 表现层 1.4 私信详情 2.发送列表 2.1 数据访问层 2.2 业务层 2.3 表现层 2.4 设置已读状态 1.私信列表 私信列表:查询当前用户的会话列表,每个会话只显示一条最新的私信、支持分页列表私信详情…

苹果cms搭建教程附带免费模板

准备工作: 一台服务器域名源码安装好NGINX+PHP7.0+MYSQL5.5 安装php7.0的扩展,fileinfo和 sg11,不安装网站会搭建失败。 两个扩展都全部安装好了之后 点击-服务-重载配置 这样我们的网站环境就配置完成啦 下载苹果cms 苹果cms程序github链接:选择mac10!下载即可 http…

部署Jenkins

一、介绍 Jenkins 、Jenkins概念 Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允…

自建CA实战之 《0x02 Nginx 配置 https双向认证》

自建CA实战之 《0x02 Nginx 配置 https双向认证》 上一章节我们已经实现了Nginx上配置https单向认证,主要场景为客户端验证服务端的身份,但是服务端不验证客户端的身份。 本章节我们将实现Nginx上配置https双向认证,主要场景为客户端验证服…

基于单片机仿指针显示的电子时钟设计

**单片机设计介绍, 基于51单片机超声波测距汽车避障系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机仿指针显示的电子时钟是一种利用单片机控制器和LED或LCD显示屏幕来模拟传统时钟指针的显示效果的设计…

PubMedBERT:生物医学自然语言处理领域的特定预训练模型

今年大语言模型的快速发展导致像BERT这样的模型都可以称作“小”模型了。Kaggle LLM比赛LLM Science Exam 的第四名就只用了deberta,这可以说是一个非常好的成绩了。所以说在特定的领域或者需求中,大语言模型并不一定就是最优的解决方案,“小…

01:编译lua及C调用

我们今天在windows平台编译lua,生成 lua动态库,lua.exe,luac.exe 我把这个目录上传到giee,使用下面命令获取它: git clone gitgitee.com:jameschenbo/lua_c_application.git 或者直接访问:访问网页 目录结构如下: build.cmd 是…

【离散数学】——期末刷题题库(一阶逻辑基本概念)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

开发测试利器之Fiddler网络调试工具详细安装使用教程(包含汉化脚本)

一、Fiddler简介 Fiddler 是一款功能强大的网络调试工具,可以帮助开发人员和测试人员分析和调试网络流量。它通过截取计算机和服务器之间的HTTP/HTTPS请求,并提供详细的请求和响应信息来帮助我们理解和诊断网络通信。 Fiddler 可以用于各种用途&#x…