【数据结构】基本概念和术语

简介: 【数据结构】基本概念和术语

🌳1.数据

数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合.是计算机程序加工的"原料".

数据不仅包括整型,实型等数值类型,还包括字符,声音,图像,视频等非数值类型.

也即,数据其实就是符号,而这些符号必须具备两个前提:

  1. 可以输入到计算机中.
  2. 能被计算机程序处理.

对于整型,实型等数值类型的数据,可以进行数值计算.

对于字符数据类型,就需要进行非数值的处理.像声音,图像,视频等其实是可以通过编码的手段变成字符数据来处理的.


🌳2.数据元素

数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体进行考虑和处理.

再用图片举例一下:

图中的①②③④⑤⑥⑦⑧⑨以及ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿ,每一个都被称为一个数据元素.


我们再举一点更具体的例子:


如:在对弈问题中,计算机操作的对象是对弈过程中可能出现的棋盘状态——称为格局.


如下图(a)所示就是井字棋的一个格局,而(a)可以派生出5个格局,如下图(b)所示:


而从(b)中的每一个新的格局又可派生出4个可能出现的格局.因此,若将从对弈开始到结束的过程中所有可能出现的格局都画在一张图上,则可得到一棵倒长的"树".


(b)抽象为数据结构,图示如下:


图中的ⒶⒷⒸⒹⒺⒻ就是6个数据元素,对应到井字棋中,也即一个格局就是一个数据元素.



🌳3.数据项

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

比如,通讯录中每个人及他的所有信息是一个数据元素,而姓名,年龄,性别,地址,电话等就被称为数据项.

如:

注意:数据项数据不可分割的最小单位.


数据项是数据的最小单位,但真正讨论问题时,数据元素才是数据结构中建立数据模型的着眼点.


就像我们讨论一部电影时,是讨论这部电影角色这样的"数据元素",而不是针对某个角色的姓名或者年龄这样的"数据项"去研究分析.




🌳4.数据对象

数据对象:是性质相同的数据元素的集合,是数据的子集.

简单阐述一下性质相同是什么意思:


指数据元素具有相同数量和类型的数据项.


还拿刚才的通讯录举例,通讯录中的每个人都具有6个相同的数据项,分别是:序号,姓名,年龄,性别,地址,电话.



因此,"张三","李四","王五"这三个数据元素组成的集合称为数据对象.


因为数据对象是数据的子集,在实际应用中,处理的数据元素通常具有相同性质,在不产生混淆的情况下,我们都将数据对象简称为数据.



🌳5.数据结构

结构,简单的理解就是关系,

比如生态系统结构,就是说生物与非生物相互作用结合而成的结构有序的系统.

严格点说,结构是指各个组成部分相互搭配和排列的方式.

现实生活中,不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系称为结构.

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

在计算机中,数据元素并不是孤立,杂乱无序的,而是具有内在联系的数据集合.

数据元素之间存在的一种或多种特定关系,也就是数据的组织形式.


为了编写出一个"好"的程序,必须分析待处理对象的特性各处理对象之间存在的关系.


这便是我们学习和研究数据结构的意义所在.



结语

本节我们一起学习了数据结构的基本概念和术语,在数据结构绪论章中,我们还将一起探讨其他三节的内容,分别是:什么是数据结构,逻辑结构与物理结构以及抽象数据类型,有兴趣的朋友可以直接点击下方链接跳转至相应博客:

相关文章推荐

【数据结构】什么是数据结构?

【数据结构】基本概念和术语

【数据结构】逻辑结构与物理结构

【数据结构】抽象数据类型

......



数据结构绪论篇思维导图:

 

 

 


相关文章
|
9天前
|
存储 机器学习/深度学习
数据结构学习记录——什么是图(抽象数据类型定义、常见术语、邻接矩阵表示法、邻接表表示法)
数据结构学习记录——什么是图(抽象数据类型定义、常见术语、邻接矩阵表示法、邻接表表示法)
15 0
|
9天前
|
存储
数据结构学习记录——什么是堆(优先队列、堆的概念、最大堆最小堆、优先队列的完全二叉树表示、堆的特性、堆的抽象数据类型描述)
数据结构学习记录——什么是堆(优先队列、堆的概念、最大堆最小堆、优先队列的完全二叉树表示、堆的特性、堆的抽象数据类型描述)
10 2
|
9天前
|
机器学习/深度学习 存储 算法
数据结构和算法学习记录——树(基本介绍、树的定义、树的特点、树的一些基本术语、树的表示、儿子-兄弟表示法)
数据结构和算法学习记录——树(基本介绍、树的定义、树的特点、树的一些基本术语、树的表示、儿子-兄弟表示法)
9 0
|
9天前
|
存储 算法
数据结构和算法学习记录——特殊线性表之队列-队列的概念、队列结构体类型定义 、基本接口函数、初始化函数、销毁队列函数、入队列函数、判断队列是否为空、出队列函数、读取队头队尾的数据 、计算队列数据个数
数据结构和算法学习记录——特殊线性表之队列-队列的概念、队列结构体类型定义 、基本接口函数、初始化函数、销毁队列函数、入队列函数、判断队列是否为空、出队列函数、读取队头队尾的数据 、计算队列数据个数
8 0
|
9天前
|
算法
数据结构和算法学习记录——特殊线性表之栈(上)-栈的概念、栈的结构、链式栈数组栈、栈的结构体定义、栈的基本接口函数、栈顶初始化函数
数据结构和算法学习记录——特殊线性表之栈(上)-栈的概念、栈的结构、链式栈数组栈、栈的结构体定义、栈的基本接口函数、栈顶初始化函数
4 0
|
9天前
|
存储 算法
数据结构和算法学习记录——线性表之顺序表(顺序表概念、结构、顺序表接口函数-头插头删、尾插尾删)
数据结构和算法学习记录——线性表之顺序表(顺序表概念、结构、顺序表接口函数-头插头删、尾插尾删)
8 0
|
10天前
|
JavaScript 数据库
关系数据库:关系数据结构基础与概念解析
关系数据库:关系数据结构基础与概念解析
12 1
|
24天前
|
存储 算法
[数据结构]—二叉树基本概念
[数据结构]—二叉树基本概念
|
26天前
|
存储 机器学习/深度学习 算法
数据结构与算法⑬(第四章_中_续二)堆解决Topk问题+堆的概念选择题
数据结构与算法⑬(第四章_中_续二)堆解决Topk问题+堆的概念选择题
30 3
|
26天前
|
存储 移动开发 算法
数据结构与算法⑩(第四章_上)树和二叉树和堆的概念及结构(下)
数据结构与算法⑩(第四章_上)树和二叉树和堆的概念及结构
32 0