初识数据结构

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

一起加油!

目录

一、前言:

二、有关术语和概念: 

 💦数据:

💦数据元素:

💦数据项 :

💦数据结构:

💦数据类型:

💦抽象数据类型:

三、总结:

四、共勉:

 


一、前言:

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

二、有关术语和概念: 

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


 💦数据:

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

💦数据元素:

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

💦数据项 :

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

💦数据结构:

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

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

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

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

💦数据类型:

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

💦抽象数据类型:

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


三、总结:

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

四、共勉:

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

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

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

相关文章

RT-DETR论文阅读笔记(包括YOLO版本训练和官方版本训练)

论文地址:RT-DETR论文地址 代码地址:RT-DETR官方下载地址 大家如果想看更详细训练、推理、部署、验证等教程可以看我的另一篇博客里面有更详细的介绍 内容回顾:详解RT-DETR网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署 目录 一…

【计算机网络笔记】多路访问控制(MAC)协议——轮转访问MAC协议

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

HCIA-RS基础-RIP路由协议

前言: RIP路由协议是一种常用的距离矢量路由协议,广泛应用于小规模网络中。本文将详细介绍RIP路由协议的两个版本:RIPv1和RIPv2,并介绍RIP的常用配置命令。通过学习本文,您将能够掌握RIP协议的基本原理、RIPv1和RIPv2的…

软件工程期末复习(选择+填空+判断)

文章目录 软件工程期末复习一、 选择题 软件工程期末复习 一、 选择题 1.“软件危机”的表现不包括:(c) A、软件产品不能按期交付 B、用户对“已完成的”软件产品时常不满意 C、程序员越来越供不应求 D、软件项目难以管理,维护困…

Java Thread 介绍

线程是操作系统调度的最小单元, 也叫轻量级进程。它被包含在进程之中, 是进程中的实际运作单位。 同一进程可以创建多个线程, 每个线程都有自己独立的一块内存空间, 并且能够访问共享的内存变量。 1 线程的分类 在 Java 中, 线程可以分为 2 种 守护线程: 守护线程是为用户线程…

kali linux英文改中文

如果英语基础较好的同学可以不用调整 反之则需要 找到终端(就是输入命令的那个地方 如下)点击它出现命令终端 切换为root用户,命令为: sudo dpkg-reconfigure locales 然后回车 找到这个zh_CN 然后回车 鼠标下键选中并且回车 输…

耶鲁博弈论笔记

编辑记录: 1126:开个新坑,耶鲁大学的博弈论课程, 和专业相关不大,纯兴趣,尽量写好一点吧 1. 首先指出博弈论是一种研究策略形式的方法,对于经济学中,完全竞争市场只能被动接受均衡…

IT问题解答类型网站源码

问答网是一款为IT工程师提供的问答平台,旨在帮助用户在线获取专业知识和相关问题的答案。在问答网,用户可以轻松找到其他人的问答问题,并在这里寻求解答。如果您有任何想要解决的问题,都可以在此发布问题并得到其他同行的解答。 …

【STL】string类 (下)

目录 1,insert 2,erase 3,find 4,replace 5,rfind 6,substr 7,find_first_of 8,find_first_not_of 9,find_last_of 10,operator 11,ge…

Qt TCP网络上位机的设计(通过网络编程与下位机结合)

目录 TCP 协议基础 QTcpServer 和 QAbstractSocket 主要接口函数 TCP 应用程序 1.服务端 2.客户端 上位机通过网络编程与下位机实现通信 TCP 协议基础 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于…

Camtasia Studio2024专业的屏幕录制和视频剪辑软件

Camtasia2024专业的屏幕录制和视频剪辑软件3000多万专业人士在全球范围内使用Camtasia展示产品,教授课程,培训他人,以更快的速度和更吸引人的方式进行沟通和屏幕分享。使您在Windows和Mac上进行录屏和剪辑创作专业外观的视频变得更为简单。 …

BGP选路实验

要求 1 使用PreVal策略,确保R4通过R2到达192.168.10.0/24 2 使用AS_Path策略,确保R4通过R3到达192.168.11.0/24 3 配置MED策略,确保R4通过R3到达192.168.12.0/24 4 使用Local Preference策略,确保R1通过R2到达192.168.1.0/24 5 使…

【古诗生成AI实战】之五——加载模型进行古诗生成

回顾上一篇博客,我们已经成功地训练了我们的模型,并将其保存下来。这是一个重要的里程碑,因为训练好的模型是我们进行文本生成的基础。 现在,接下来的步骤是加载这个训练好的模型,然后使用它来生成古诗。 本章的内容属…

打印菱形-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第9讲。 打印菱形&#xff…

Android 虚拟机与类加载机制

1、Dalvik 虚拟机 Android 应用程序运行在 Dalvik/Art 虚拟机上,并且每一个应用程序都有一个单独的 Dalvik/Art 虚拟机实例。 1.1 JVM 与 Dalvik Dalvik 虚拟机也算是一个 Java 虚拟机,它是按照 JVM 虚拟机规范实现的,二者的特性差不多&am…

爬楼梯(力扣LeetCode)动态规划

爬楼梯 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1 阶 1 阶2 阶 示…

树状数组专题

折叠 区间修改,区间查询,这一类题通常都可以使用线段树解决,但对于此题,树状数组同样可以,而且常数较小,代码简单。 思路: 考虑使用树状数组去维护差分数组,即对于 a i a_i ai​,我们…

找不到vcomp120.dll该如何修复?vcomp120.dll丢失的5个可行解决方法

本文将对vcomp120.dll文件的丢失原因进行详细分析,并提供五个有效的修复方法。同时,本文还将深入介绍vcomp120.dll文件的作用及其在程序运行中的重要性。 一、vcomp120.dll文件丢失原因 操作系统损坏:由于病毒感染、系统错误等原因&#xf…

linux复习笔记04(小滴课堂)

软件安装rpm方式介绍: 先去挂载光盘: 要确保这是已连接状态。 我们查看到已经挂载成功了。 进到这个目录下。 我们可以看到这有很多rpm软件包。 man rpm: 可以看到很多参数,但是我们不需要全部掌握。 举例: 这就是告诉我们需要安…

docker (简介、dcoker详细安装步骤)- day01

一、 为什么出现 Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应…