《数据结构》---术语篇

 

目录

前言:

一.术语

1.1数据

1.2数据结构

1.3逻辑结构和物理结构

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

​​​​​​​


❤博主CSDN:啊苏要学习

    ▶专栏分类:数据结构◀

  学习数据结构是一件有趣的事情,希望读者能在我的博文切实感受到,数据之间存在的关系,在对数据元素进行操作的时候,能心中有数,脑中有画! 

-----------------------------------------------------------------------

前言:

  数据结构呢,常常和算法结合在一起,它们就像双星一样成对存在!是想到一个就自然想起另一个的关系。想学好数据结构,首先是需要掌握一门语言,一些基本的知识要懂得运用;其次就是了解消化知识后,下去一定要动手敲代码,没有看会的代码,只有敲会的代码。最后就是,学数据结构,伴随我们整个学习过程的就是不断刷题!无论何时何地,刷题,刷题,再刷题,思考,思考,再思考。这节我们先来讲数据结构里常见的术语,好让我们理解后面我们提到的对象。

一.术语

1.1数据

  数据项并不是我们主要研究的,在计算机中,我们主要对数据元素进行操作和讨论数据对象是数据元素的集合,它是数据的子集。在我们使用计算机处理数据的时候,通常这些数据都是由相同性质的数据元素组成的,所以为了符合我们习惯上的叫法,我们将数据对象简称为数据。什么意思呢?就是,数据是一组相同类型的数据元素,处理数据,就是在处理这种类型的一组数据元素。

  了解完数据的一些概念,那我们来了解数据结构是什么。

1.2数据结构

  我们知道,结构是一种具有特定关系的组合形式那么数据结构,就是数据元素之间彼此间具有关系和联系的组合

  数据结构:数据相互之间存在的一种或多种特定关系的集合

  什么是特定关系呢?我们来看到数据结构中的逻辑结构

1.3逻辑结构和物理结构

  逻辑结构是指数据对象中的数据元素之间的相互关系。当一个数据对象里的数据元素之间彼此没有交流,它们唯一具有的相同的属性,就是同属于一个集合,这就是集合结构。什么是线性结构、树结构、图结构,我们通过举例子来说明,博主举得例子大概率不贴切现实,望读者谅解。

故事:

  小明是一个在校大学生,初入大学,一切都很陌生,在新生班会上,还没开始自我介绍,大家都互不认识,对于同一个班级里的学生来说,他们仅仅是同处一个班上的关系,也就是集合结构

  导师发言完,大家纷纷做自我介绍,这时,一个好看的女同学引起了小明的注意,小明单纯很喜欢她,小明单方面记住了小美,可惜的是,在自我介绍的后半部分,小美也像小明一样,喜欢上一个帅帅的男生,巧了,也是单方面认识,这就是线性结构啦

  树性结构:树很像一个组织结构,数据元素之间存在一种一对多的关系。

  图形结构:图形结构的数据元素是多对多的关系

  将每个元素看成一个结点,用圆圈表示。元素之间的连线是表示结点之间的逻辑关系

  以上就是四种逻辑结构啦!集合结构我们不研究,我们研究的是线性结构、树性结构、图形结构。接下来讲的是,逻辑结构是以何种形式存储在内存中,也就是物理结构

  物理结构:是指数据的逻辑结构存储在计算机的形式。

  换句话说就是,存储在计算机内存里的东西,如何表示数据之间的逻辑结构,可能读者还是有点懵懵的,那我们再往下看。物理结构有两种,一种是顺序存储结构,另一种是链式存储结构

  顺序存储结构:是把数据元素放在地址连续的内存单元上,在物理结构上和逻辑上是一致的。数组就是一种表示顺序存储的实现,数组元素类型相同,连续存放

  链式存储结构:是把数据元素放在任意存储单元,可能会有巧合部分连续,但总体上,元素是分布在不同位置的(不是连续的)。那么如何表示它们之间的关系呢,我们使用结构体和指针来串起这些分散在各地的元素

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

  数据类型是一组值和定义再这些值上的操作的集合。比如整型int,我们可以知道3、5、8、10等整数值都是整型,能对这些值进行加法、减法、除法等等操作。

  抽象是抽出事物具有的普遍性的本质抽象是抽出了问题的本质,忽略了细节实现。是我们的一种思考方式,掌握抽象,理解抽象,往往能让我们看透事物的内在,而非止于表象。就好比,这里有需要实现加法的功能,可以直接用操作符+进行操作,也可以分装成一个加法函数等等,实质上就是要把一个数加到另一个数上,这个实现我们不考虑cpu开关多少次,不考虑不同机型,不同平台等,只考虑本质,加

  抽象数据类型:抽象+数据类型,就是对数据类型的值,和定义在这些值上的操作进行抽象看待。这样我们就不必考虑其实现的细节,而只关注数学上的模型和在模型上的一组操作。

-----------------------------------------------------------------------

  本文篇文字型,读来或许枯燥无味,旨在让读者了解有关数据的一些术语,在后期的不断学习中,读者也会不自觉使用这些术语来描述数据结构相关的知识,因为它是简洁且实用的。

结语:希望读者读完能有所收获!对数据结构有进一步的认识!✔

  读者对本文不理解的地方,或是发现文章内容上有误等,请在下方评论留言告诉博主哟~,也可以对博主提出一些文章改进的建议,感激不尽!最后的最后!

  ❤求点赞,求关注,你的点赞是我更新的动力,一起进步吧。

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

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

相关文章

同为科技(TOWE)防雷科普篇(二)——雷击灾害急救方法大全

前 言 当雷击发生时,空气中的各种微粒互相碰撞和摩擦便会使该空气介质两面的正负电荷的量持续积累,这时加于该空气介质的电压也会同时增加,当局部电压达到当时条件下空气的击穿电压时,该空气介质的局部便会发生电击穿而持续成为等…

使用ChatGPT完成程序开发——目标:不写一行代码完成图像识别并点击

本文作为一个使用AI开发的思路,让更多的人可以利用AI完成一些简单的程序,文中使用的是国内镜像GTP3.5 源码: GitHub - kasimshi/testCV: AI编写的OpenCV图像识别例子 GTP镜像: 知汇 对AI描述我们要做的功能,让它给给初步的思路和方向 作为新…

[译] 实战 React 18 中的 Suspense

> 原文:https://dev.to/darkmavis1980/a-practical-example-of-suspense-in-react-18-3lln React 18 带来了很多变化,它不会破坏你已经编写过的代码,并且有很多改进和一些新概念。 它也让很多开发人员,包括我,意识到…

Web 开发会话技术之 -Cookie介绍以及源码分析和图分析以及Cookie的生命周期--路径--中文乱码的分析和代码示例

目录 Web 开发会话技术之 -Cookie 会话 基本介绍 1. 什么是会话? 2. 会话过程中要解决的一些问题? cookie 技术 cookie 介绍 二说 cookie cookie 可以用来做啥 cookie 基本使用 cookie 常用方法 cookie 底层实现机制-创建和读取 Cookie Crea…

Linux-初学者系列——篇幅7_文本编辑和处理命令

文本编辑和处理命令-目录 一、系统基本编辑命令安装vim软件工具包语法格式: 1、vim编辑命令模式01 普通模式02 编辑模式03 命令模式 2、编辑文件技巧01 批量删除多行指定信息02 批量增加多列指定信息03 编辑常见问题错误1:没有指定编辑信息错误2&#xf…

Flink高手之路5-Table API SQL

文章目录 Flink 中的Table API & SQL一、Table API & SQL 介绍1. 为什么要Table API和SQL2. Table API & SQL的特点3. Table API& SQL发展历程3.1 架构升级3.2 查询处理器的选择3.3 了解-Blink planner和Flink Planner具体区别如下:3.4 了解-Blink …

基于GPS/北斗卫星技术的无盲区车辆调度系统

基于GPS/北斗卫星技术的无盲区车辆调度系统 现代车辆调度系统是一种集全球卫星定位技术(GPS)、地理信息技术(GIS)和现代通信技术于一体的高科技项目。它将移动目标的动态位置(经度与纬度)、时间和状态等信息…

uni-app入门到实战

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 🍟欢迎来到前端初见的博文,本文主要讲解uni-app入门到实战🍟 👨‍🔧 个人主页 : 前端初见 🥞喜欢的朋友可以关注一下&#xff…

javassist 字节码处理库

目录 一、快速入门 1.1 创建class文件1.2 ClassPool的相关方法1.3 CtClass的相关方法1.4 CtMethod的相关方法1.5 调用生成的类对象 1.5.1 通过反射调用1.5.2 通过接口调用1.6 修改现有的类对象二、将类冻结三、类搜索路径四、$开头的特殊字符五、ProxyFactory的使用 我们知道J…

Linux I/O复用函数的使用情况和select接口的介绍

I/O 复用使得程序能同时监听多个文件描述符,这对于提高程序的性能至关重要。通常, 网络程序在下列情况下需要使用 I/O 复用技术: 1.TCP服务器同时要处理监听套接字和连接套接字 2.服务器同时要处理TCP请求和UDP请求。 3.程序同时要处理多个套…

直播预告 | 时序数据处理的云端利器:TDengine Cloud 详解与演示

当下,我们正处在一个万物互联的时代,大数据、云原生、AI、5G 等数字技术极大地方便了人们的生活,但智能物联网产生的海量数据却成为众多企业在数据处理上的巨大痛点。从本质来看,这些数据大多是产生自各种设备和传感器的时序数据&…

Spring种存取Bean的5种注解

存取Bean的五种注解 存储Bean对象两种方式1.添加一行bean2.使用注解的方式(5大注解)Controller(控制器存储)Service(服务存储)Repository(仓库存储)Component(组件存储)Configuration(配置存储)方法注解 Bean 获取Bean对象(三种)1.属性注入2.setter注入3.构造方法注入三种注入的…

springboot-分页功能

1.分页功能的作用 分页功能作为各类网站和系统不可或缺的部分(例如百度搜索结果的分页等) ,当一个页面数据量大的时候分页作用就体现出来的,其作用有以下5个。 (1)减少系统资源的消耗 (2&#…

Vue 3组件传值 、组件通信

本文采用<script setup />的写法&#xff0c;比options API更自由。那么我们就来说说以下七种组件通信方式&#xff1a; props emit v-model refs provide/inject eventBus vuex/pinia 举个例子 本文将使用下面的演示&#xff0c;如下图所示&#xff1a; 上图中…

mybatis粗心使用导致内存溢出

现象 服务响应变慢&#xff0c;线程日志也出现Java heap space内存溢出的错误&#xff0c;这个服务属于基础业务服务&#xff0c;出现问题要尽快的排查 分析 因为设置了gc日志和jmap启动相关参数 所以我们进行分析&#xff0c;这里模拟线上环境将堆大小参数调整到了128m&am…

【Linux】权限管理

文章目录 &#x1f4d6; 前言1. 什么是权限2. 权限管理2.1 Linux的用户分类&#xff1a;2.2 Liunx文件的分类&#xff1a;2.3 文件的访问权限2.4 文件访问权限的相关设置方法&#xff1a;chmod对文件权限的修改chown / chgrp 2.5 以八进制修改文件权限&#xff1a;2.6 默认权限…

Springsecurity课程笔记06-13章基于数据库的方法授权

动力节点Springsecurity视频课程 6 密码处理 6.1 为什么要加密&#xff1f; csdn 密码泄露事件 泄露事件经过&#xff1a;https://www.williamlong.info/archives/2933.html 泄露数据分析&#xff1a;https://blog.csdn.net/crazyhacking/article/details/10443849 6.2加密…

IJKPLAYER源码分析-常用API

前言 本文简要介绍IJKPLAYER的几个常用API&#xff0c;以API使用的角度&#xff0c;来审视其内部运作原理。这里以iOS端直播API调用切入。 调用流程 init 创建播放器实例后&#xff0c;会先调用init方法进行初始化&#xff1a; - (IJKFFMediaPlayer *)init {self [super ini…

计算机网络复习题+答案

文章目录 导文题目一、单项选择题二、填空题三、判断改错题,判断下列命题正误,正确的在其题干后的括号内打“√”,错误的打“”,并改正。四、名词解释五、简答题六、应用题导文 计算机网络复习题 题目 一、单项选择题 在应用层协议中,主要用于IP地址自动配置的协议是: (…

文案自动修改软件-文案自动改写的免费软件下载

文章生成器ai写作机器人 随着人工智能技术的飞速发展&#xff0c;越来越多的新型产品被推向市场。其中&#xff0c;文章生成器AI写作机器人是一个备受关注的新兴行业。它使用机器学习和自然语言处理等技术&#xff0c;为用户自动生成高质量的文章和内容&#xff0c;帮助用户在…