首页 > 其他分享 >【数据结构】基本概念和术语

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

时间:2024-09-09 13:51:16浏览次数:3  
标签:术语 数据 元素 数据类型 类型 数据结构 data 基本概念 结构

数据 (data)

定义
是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中
并被计算机程序处理的符号的总称。

数据元素 (data element)
是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

数据对象 (data object)
是性质相同的数据元素的集合,是数据的一个子集。

数据结构 (data structure)
是相互之间存在一种或多种特定关系的数据元素的集合。

结构 (structure)

定义
数据元素相互之间的关系称为结构 (structure) 。

根据数据元素之间关系的不同特性,通常有下列四类基本结构:
(1) 集合
结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系
(2) 线性结构
结构中的数据元素之间存在一个对一个的关系;
(3) 树形结构
结构中的数据元素之间存在一个对多个的关系;
(4) 图状结构或网状结构
结构中的数据元素之间存在多个对多个的关系。
在这里插入图片描述

数据的逻辑结构
结构定义中的“关系”描述的是数据元素之间的逻辑关系,因此又称为数据的逻辑结构。

数据的物理结构
数据结构在计算机中的表示(又称映像)称为数据的物理结构,又称存储结构。
它包括数据元素的表示和关系的表示。

数据元素之间的关系在计算机中有两种不同的表示方法:
顺序映像非顺序映像

并由此得到两种不同的存储结构:
顺序存储结构链式存储结构
顺序映像的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;
非顺序映像的特点是借助指示元素存储地址的指针 (pointer) 表示数据元素之间的逻辑关系。

数据类型

定义
是一个值的集合和定义在这个值集上的一组操作的总称。
高级程序语言中的数据类型可分为两类:

一类是非结构的原子类型
原子类型的值是不可分解的,例如 语言中的基本类型(整型、实型、字符型和枚举
类型)、指针类型和空类型。

另一类是结构类型
结构类型的值是由若干成分按某种结构组成的,因此是可以分解的,并且它的成分可以是非结构的,也可以是结构的。

抽象数据类型 (Abstract Data Type, 简称 ADT)

是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。

抽象数据类型和数据类型实质上是一个概念。
“抽象”的意义在于数据类型的数学抽象特性

抽象数据类型的定义由一个值域和定义在该值域上的一组操作组成。
若按其值的不同特性,可细分为下列三种类型:

原子类型 (atomic data type)
属原子类型的变量的值是不可分解的。这类抽象数据类型较少,因为一般情况下,已有的固有数据类型足以满足需求。但有时也有必要定义新的原子数据类型,例如数位为 100 的整数。

固定聚合类型 (fixed-aggregate data type)
属该类型的变量,其值由确定数目的成分按某种结构组成。例如,复数是由两个实数依确定的次序关系构成。

可变聚合类型(variable-aggregate data type)
和固定聚合类型相比较,构成可变聚合类型“值”的成分的数目不确定。例如,可定义一个“有序整数序列”的抽象数据类型,其中序列的长度是可变的。

显然,后两种类型可统称为结构类型。

多形数据类型 (polymorphic data type)

多形数据类型 (polymorphic data type) 是指其值的成分不确定的数据类型。
从抽象数据类型的角度看,具有相同的数学抽象特性,故称之为多形数据类型。

标签:术语,数据,元素,数据类型,类型,数据结构,data,基本概念,结构
From: https://blog.csdn.net/Sakura_ding/article/details/142056666

相关文章

  • Git的基本概念和使用方式
    Git是一种分布式版本控制系统,它可以追踪文件的修改历史和各个版本的变化。以下是Git的基本概念和使用方式:仓库(Repository):Git使用仓库来存储项目的历史记录和所有的文件。一个仓库包含一个.git文件夹,它保存了项目的所有元数据。分支(Branch):Git使用分支来记录不同的版本和修改......
  • 数据结构与算法(三)线性表的定义与抽象数据类型
    目录一、感受线性表的存在二、线性表的定义三、考题模拟1、请问公司的组织架构是否属于线性关系?2、那么班级同学的友谊呢?3、那么班级的点名册是不是线性表?四、抽象数据类型1、数据类型的定义:2、抽象数据类型一、感受线性表的存在    从这一篇开始,我们将介......
  • 实例:使用 gdb 查看进程内存中的数据结构
    代码示例首先,创建一个简单的链表程序linked_list.c,以演示如何使用gdb查看内存中的数据结构。#include<stdio.h>#include<stdlib.h>//定义链表节点结构体typedefstructNode{intdata;structNode*next;}Node;//添加新节点到链表的尾部voidappen......
  • 数据结构-堆-详解
    数据结构-堆-详解1.性质大根堆小根堆2.实现2.1structHeap、HeapInit、HeapDestroy2.2HeapPushAdjustUp2.3HeapPopAdjustDown2.4HeapTop、HeapSize、HeapEmpty3.应用3.1堆排建堆排序3.2TopK问题1.性质堆是一种特殊的完全二叉树,其父节点总是不大于/不小于子节......
  • 算法与数据结构——堆
    堆堆(heap)是一种满足特定条件的完全二叉树,主要分为两种类型:小顶堆(minheap):任意节点的值≤其子节点的值大顶堆(maxheap):任意节点的值≥其子节点的值堆作为完全二叉树的一个特例,具有以下特性:最底层节点靠左填充,其他层的节点都被填满我们将二叉树的根节点称为“堆顶”,将......
  • Docker的基本概念
    一、docker的由来容器虚拟化基础之LXCLXC是什么?LXC(LinuXContainers)Linux容器,一种操作系统层虚拟化技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。透过统一的名字空间和共......
  • 数据结构题目 第一章
    题目1、数据结构被形式的定义为(K,R),其中K是( )的有限集合,R是K上关系的有限集合。A.算法  B.数据元素 C.数据操作 D.逻辑结构2、数据元素是数据的最小单位。 ( )3、存储数据时,通常不仅需要存储各数据元素的值,而且还要存储( )。A.数据的处理方法 B.数据元素的类型......
  • 【机器学习】朴素贝叶斯网络的基本概念以及朴素贝叶斯网络在python中的实例
    引言文章目录引言一、朴素贝叶斯网络1.1基本概念1.1.1节点1.1.2边(Edges)1.1.3条件独立性1.2特点1.2.1结构简单1.2.2易于理解和实现1.2.3计算效率高1.3应用1.4数学表示1.5局限性二、朴素贝叶斯网络在python中的实例2.1实例背景2.2实现步骤2.3python代码......
  • 【机器学习】马尔可夫随机场的基本概念、和贝叶斯网络的联系与对比以及在python中的实
    引言马尔可夫随机场(MarkovRandomField,简称MRF)是一种用于描述变量之间依赖关系的概率模型,它在机器学习和图像处理等领域有着广泛的应用文章目录引言一、马尔科夫随机场1.1定义1.2特点1.3应用1.4学习算法1.5总结二、选择马尔可夫随机场的学习算法的标准2.1问......
  • 【高阶数据结构】秘法(二)——图(一):图的基本概念和存储结构
    前言:今天我们要讲解的是数据结构中图的部分,这部分在我们实际生活中也是经常会碰到的,同时这部分也是数据结构中比较有难度的部分,这部分内容我会把它分为多章来进行讲解,今天我们先来讲解一下图的基本概念和存储结构目录一、图的基本概念1.图的定义2.术语解释3.图的分......