数据结构入门学习之数据结构学些什么?

article/2025/10/24 21:28:12

在刚开始学习数据结构,我推荐一定要搞懂三个问题,这将对我们学习数据结构的帮助很大,能让我们对数据结构有一个清晰的认识,问题如下

1.学习数据结构是干嘛用的?

2.什么是数据结构?

3.数据结构要学习什么?

明白了这两个问题,我们就知道了数据结构的作用是什么,如果对我们有用,那么我们应该怎样学习使用用它。

********************************************************************************************

以下是我对这两个问题的个人看法

1.学习数据结构是干嘛用的?

早期,计算机主要用于数值计算,那时候数据元素间的关系简单,计算复杂,软件设计者主要精力用于程序设计的技巧上,而对如何在计算机组织数据并不需要花费太多的时间更精力。但是随着计算机应用领域的扩展,计算机被越来越多地用于非数值计算,不再是单纯的数值数据。无法用数学公式或者数学方程来解决。这时我们就必须去考虑组织这些数据,而这些数据并不是杂乱无章的,它们一定有内在的联系,只要弄清楚它们之间本质的联系,就能使用计算机对大量的数据进行有效的处理。这就我们的数据结构所要研究的内容。

在举个例子:计算机在解决一个现实问题通常要进行以下几个步骤,见下图

而第一步将具体问题抽象为数学模型的实质是:

问题(机外表示、处理要求)->数学模型(逻辑结构、基本操作)->编程实现(存储结构、实现算法)

也就是将问题(机外表示、处理要求)->数学模型(逻辑结构、基本操作)

而这一步正是我们数据结构所干的事。

终上所述,我们大概知道了数据结构是将现实(非数值数据)问题转化为计算机语言的表示,让计算机去处理它。我们学习数据结构其实就是在学习这种思想,需要我们一定的逻辑思维跟抽象能力。

2.什么是数据结构

书上的定义

数据结构是指按照一定的逻辑结构构成的一组数据,使用某种存储结构将这批数据存储于计算机中,并在这些数据上定义一个运算集合。

而作为专业课,数据结构是一门研究非数值的程序设计中计算机的操作对象以及它们之间的关系和操作的学科。

3.数据结构要学习什么?

通过前两个问题,我们大概了解到

数据结构讨论的是数据的逻辑结构,存储方式以及相关的操作。

所以我们之后的学习的方向就是围绕着这三面进行的

但是在学习这三面之前,我们对数据有个清楚的概念

数据概念

细分为以下这五个方面

  • 数据
  • 数据项
  • 数据元素
  • 数据对象
  • 数据类型

数据:

数据是信息的载体,是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整形、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。

数据项:

构成数据元素不可分割的最小单位

数据元素:

1.是数据的基本单位,在计算机程序中通常作为一个整体考虑而处理

2.也被称为元素,或称为记录,结点或顶点。

3.一个数据元素可由若干个数据项组成

数据对象:

是性质相同的数据元素的集合,是数据的一个子集。

列如:

整数数据对象是集合N={-1,0,1,23,4..}

人员表也可看做一个数据结构

它们四个之间的关系 数据>=数据对象>数据元素>=数据项

 数据、数据元素、数据项、数据对象的实例介绍

下面是举个实例给大家:

假设有两张表,A表为人员表,B表为课程表, 表的格式如下:

姓名性别身高课程代号
小明180A
小红180A
小绿180B
课程代号课程名
A语文
B数学

重点:

这两张表就是数据
而单独的一张表就称为数据对象,即人员表是一个数据对象,课程表也是一个数据对象
而每张表中的每一行就称为数据元素
而姓名,性别,身高,课程代号,课程名就称为数据项

数据类型

数据类型是一个值的集合和定义在此集合上的一组操作的总称

分类

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

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

抽象数据类型:抽象数据组织及相关的操作,能将数据的逻辑结构及运算在计算机上具体实现。

了解完数据的基本概念,我们便可以开始进入正题

数据结构讨论的是数据的逻辑结构,存储方式以及相关操作。

我们就可以从数据结构的这基本三要素下手

  • 数据的逻辑结构
  • 数据的存储结构
  • 数据的运算集合

逻辑结构

描述数据元素之间的逻辑关系

与数据的存储无关,独立于计算机

是从具体问题抽象出来的数学模型

存储结构(物理结构)

数据元素及其在计算机存储器中的存储方式(结构)又称映像,也称物理结构

是数据元素和关系的表示

存储结构是用于计算机语言实现的逻辑结构,它依赖于计算机语言

有序地组织计算机进行存储

逻辑结构与存储结构的关系

存储结构是逻辑关系的映像与元素本身的映身。

逻辑结构是物理结构的抽象,存储结构是数据结构的实现

两者综合起来建立了数据元素之间的关系

逻辑结构的两种分类划分方式:

划分一:

  1. 线性结构

有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直前趋和一个直接后继。

例如:线性表、栈(特殊线性表)、队列(特殊线性表)、字符串,数组,广义表

        2.非线性结构

一个结点可能有多个直接前趋和直接后继

例如:树,图

 划分二:

集合结构:集合中的元素除了同属于一个集合之外,没有其他关系
线性结构:线性结构中的数据元素之间是一对一的关系
树形结构:树形结构中的数据元素之间是一对多的层次关系
图形结构:图形结构中的数据元素之间是多对多的关系

存储结构(物理结构)

1.顺序存储结构

用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置

来表示。

c语言中用数组来实现顺序存储结构

2.链式存储结构

用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示

C语言中用指针来实现链式存储结构

3、索引存储

索引存储方式是采用附加的索引表的方式来存储节点信息的一种存储方式。索引表由若干索引项组成。索引存储方式中索引项的一般形式为(关键字、地址)。其中,关键字是能够唯一标识一个节点的数据项。索引存储方式还可以细分为稠密索引:这种方式中每个节点在索引表中都有一个索引项,其中索引项的地址知识节点所在的存储位置。稀疏索引:这种方式中一组节点在索引表中只对应一个索引项。其中,索引项的地址指示一组节点的起始存储位置。

4、散列存储

散列存储方式是根据节点的关键字直接计算出该节点的存储地址的一种存储方式。在实际应用中,往往需要根据具体的数据结构来决定采用哪种存储方式。同一逻辑结构采用不同的存储方法,可以得到不同的存储结构。而且者4中基本存储方法,既可以单独使用,也可以组合起来对数据结构进行存储描述。

数据的运算

施加在数据上的运算包括运算的定义和实现

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

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

包括:检索,排序、插入、删除、修改


http://chatgpt.dhexx.cn/article/AhSjiM9w.shtml

相关文章

专升本数据结构复习

数据结构知识点总汇 主要参考书目: 程海英老师的《数据结构(C语言版)》教材严蔚敏,李冬梅,吴伟民.《数据结构(C语言版)》 推荐视频:西北大学 数据结构-耿国华老师 说…

数据结构基础

一、基本概念 1、数据 数据(Data)是描述客观事物属性的数、字符及所有能被输入到计算机中并被计算机程序识别和处理的符号的集合。 解释:数据不仅包括整型、字符型等数值类型,还包括字符及声音、图像、视频等非数值类型。 数据…

锚链接跳转

想让页面跳转到指定的地方&#xff0c;这个时候我们可以用到锚链接&#xff0c;锚链接主要有两个部分组成&#xff0c;点击的地方和跳转的地方&#xff0c;点击的地方我们用 <a> 标签&#xff0c;其 href 属性和即将跳转的标签的 id 保持一致就可以了&#xff0c;举个栗子…

Html中锚文本链接怎么写?锚文本链接有属性用法

锚文本链接的概念&#xff1a; 锚文本又称锚文本链接&#xff0c;是链接的一种方法。和超链接相似&#xff0c;超链接的代码是锚文本&#xff0c;把关键词做一个链接&#xff0c;指向其他网页&#xff0c;这种方法的链接就叫作锚文本。锚文本实际上是建立了文本关键词与URL链接…

Markdown(5):锚链接

一、外部链接 格式&#xff1a; 名称 示例: 百度 二、文内链接 格式 名称 示例: 前往测试锚点 这里的markdown图片没有意义&#xff0c;是为了隔开跳转锚点和锚点之间的位置&#xff0c;使点击锚点时明显的呈现跳转效果。 我是测试锚点 我是测试内容

创建锚点链接

如果网页内容较多&#xff0c;页面过长&#xff0c;浏览网页时就需要不断地拖动滚动条&#xff0c;来查看所需要的内容&#xff0c;这样效率较低且不方便。为了提高信息的检索速度&#xff0c;HTML语言提供了一种特殊的链接——锚点链接&#xff0c;通过创建锚点链接&#xff0…

Vue锚链接(两种方法) scrollIntoView

第一种&#xff1a;常见 锚链接&#xff0c;id和 href 结合起来 <div id"one" style"height: 300px;">第一</div> <div id"two" style"height: 300px;">第二</div><a href#one>回到第一</a> <…

Html的锚点链接

HTML中的链接&#xff0c;正确的说法应该称作"锚点"&#xff0c;它命名锚点链接(也叫书签链接)常常用于那些内容庞大繁琐的网页&#xff0c;通过点击命名锚点&#xff0c;不仅让我们能指向文档&#xff0c;还能指向页面里的特定段落&#xff0c;更能当作"精准链…

页面中的锚链接

1、锚链接 方法一 // 设置锚点链接 <a href"#miao">锚点链接</a> // 锚点 <a namemiao>锚点</a>注&#xff1a;name的属性值和锚链接的href中名一样 方法二 // 设置锚点链接 <a href"#miao">锚点链接</a> // 锚…

HTML链接(锚)

锚 使用<a>标记 有两种使用 <a> 标签的方式&#xff1a; 通过使用 href 属性 - 创建指向另一个文档的链接通过使用 name 属性 - 创建文档内的书签 这样说有点抽象&#xff0c;还是在几种实际应用中理解创建链接和创建书签的含义吧&#xff01; 实现网页之间跳…

HTML超链接、锚链接

超链接和锚链接的区别&#xff0c;就是超链接需要跳砖页面&#xff1b;锚链接不需要&#xff0c;在同一页面中跳转到某个位置。 不管是超链接&#xff0c;还是锚链接&#xff0c;都是用a元素。 超链接&#xff1a;超链接的使用就是在href中加入网址&#xff0c;如果是图片超链…

超链接 锚链接 功能性链接 块元素 行内元素

目录 超链接标签 页面间的锚链接 不同页面中的锚链接 功能性链接 行内元素和块元素 超链接标签 超链接的基本应用: 超链接包含两部分内容:1.是链接地址,可以是某个网址或文件的路径,对应为<a>标签的href属性 2. 是链接文本或图像,单击该文本或图像,将跳转到href属…

HDFS原理简图汇总

HDFS原理简图汇总 1.HDFS结构简图 2.namenode和datanode心跳机制 3.namenode元数据更新的checkpoint机制 4.hdfs写数据机制 5.hdfs读数据机制 一图胜千言&#xff0c;把文字转为图形确实可以更进一步对知识做提炼&#xff0c;如有错漏&#xff0c;欢迎大家留言指正。

Hadoop HDFS原理笔记

1&#xff1a;Hadoop家族 2&#xff1a;Hadoop的两大核心 3&#xff1a;HDFS介绍 4&#xff1a;HDFS结构 5&#xff1a;HDFS架构图 6&#xff1a;HDFS的数据存储单元&#xff08;Block&#xff09; 7&#xff1a;HDFS设计思想 8&#xff1a;NameNode&#xff08;NN&#xff0…

HDFS高级-架构原理

文章目录 1 HDFS架构剖析1.1 集群角色介绍1.2 HDFS重要特性 2 HDFS Web Interfaces2.1 模块功能解读OverviewdatanodesDatanode Volume FailuresSnapshotSatartup progressUtilitiesBrowse the file systemLogs、Log LevelConfigruation 3 HDFS读写流程3.1 HDFS写数据流程&…

(转载)深入分析HDFS原理及读写流程

一、架构体系 1.1、什么是HDFS&#xff1f; HDFS即Hadoop Distributed File System的简称&#xff0c;采用Master/Slave主从结构模型来管理数据。在设计上采用了分而治之的思想&#xff0c;将单服务器无法承受的大量的数据分布在多台服务器上。HDFS主要由Client、NameNode、Dat…

Hadoop分布式文件系统HDFS原理以及操作(一)

HDFS简介&#xff1a;活动在集群上并支持以流式数据访问模式来存取超大文件。存储设计是把海量数据部 署在价格低廉的节点上&#xff0c;具有高容错性和高吞吐量特性。HDFS的设计首要是针对超大文件存储&#xff0c;而对于小的文件访问和存储速度反而会降低。 HDFS体系结构&am…

【hadoop】HDFS原理 和 重要特性

文章目录 一、NameNode 概述二、DataNode 概述三、HDFS的工作机制三、HDFS 写数据流程四、HDFS 读数据流程五、HDFS重要特性1&#xff0e; master/slave 架构2&#xff0e; 分块存储3&#xff0e; 名字空间&#xff08;NameSpace &#xff09;4&#xff0e; Namenode 元数据管理…

HDFS原理解析

HDFS原理解析 一、HDFS简介 HDFS为了做到可靠性&#xff08;reliability&#xff09;创建了多分数据块&#xff08;data blocks&#xff09;的复制&#xff08;replicas&#xff09;&#xff0c;并将它们放置在服务器群的计算节点中&#xff08;computer nodes&#xff09;&…

HDFS原理与应用

1 HDFS基本介绍 一些基本概念&#xff1a; 在Hadoop中&#xff0c;HDFS是存储层&#xff0c;YARN是调度层&#xff0c;MapReduce是应用层 HDFS是Hadoop分布式文件系统&#xff08;Hadoop Distributed File System&#xff09; 分布式文件系统有大容量、高可靠和低成本的特点…