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

数据结构—基本概念和术语

时间:2022-10-11 18:57:11浏览次数:45  
标签:术语 Data 元素 存储 数据结构 数据 基本概念 结构

1、数据

     数据(Data)是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。

2、数据元素

     数据元素(Data Element)是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。在有些情况下,数据元素也称为元素、记录等。数据元素用于完整的描述一个对     象,如一个学生记录,树中棋盘的一个格局(状态),以及图中的一个顶点。

3、数据项

     数据项(Data Item)是组成数据元素的、有独立含义的、不可分割的最小单位。例如学生基本信息表中的学号、姓名、性别等都是数据项。

4、数据对象

     数据对象(Data Object)是性质相同的数据元素的集合,是数据的一个子集。例如整数数据对象是集合N ={0,±1,±2,...}。

5、数据结构

     数据结构是相互之间存在一种或多种特定关系的数据元素的集合。换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。数据结构包括逻辑结构和存储结构两个层次:

    1)逻辑结构

         数据的逻辑结构是从逻辑关系上描述数据,它与数据的存在无关,是独立于计算机的。因此,数据的逻辑结构可以看作是从具体问题抽象出来的数据模型。数据逻辑结构有两个要素:一是数据元素;二是关系。根据数据元素之间关系的不同特性,通常有四类基本结构,它们的复杂程度一次递进:

四类基本逻辑结构关系图  
  • 集合结构—数据元素之间除了“输入同一集合”的关系外,别无其他关系。
  • 线性结构—数据元素之间存在一对一的关系。
  • 树结构—数据元素之间存在一对多的关系。
  • 图结构或网状结构—数据元素之间存在多对多的关系。

    2)存储结构

         数据对象在计算机中的存储表示为数据的存储结构,也称为物理结构。把数据对象存储在计算机中时,通常要求既存储各数据元素的数据,又要存储数据元素之间的逻辑关系,数据元素在计算机内用一个结点来表示。

       数据元素在计算机中有两种基本的存储结构,分别是顺序存储结构和链式存储结构。

  • 顺序存储结构—是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述。
  • 链式存储结构—顺序存储结构要求所有的元素依次存放在一片连续的存储空间中,而链式存储结构无需占用一整块存储空间。但是为了表示结点之间的关系,需要给每个阶段附加指针字段,用于存放后继元素的存储地址。通常借助与程序设计语言的指针类型来描述。

6、数据类型

     数据结构(Data Type)是高级程序设计语言中的一个基本概念。是一个值得集合和定义在这个值集上的一组操作的总称。

7、抽象数据类型

     抽象数据类型(Abstract Data Type,ADT)一般指有由用户定义的、表示应用问题的数据模型,以及定义在这个模型上的一组操作的总称,具体包括三部分:数据对象、数据对象上关系的集合以及对数据对象的基本操作的集合。

抽象数据类型的定义格式如下:

ADT 抽象数据类型名{
    数据对象:<数据对象的定义>
    数据关系:<数据关系的定义>
    基本操作:<基本操作的定义>
}ADT 抽象数据类型名

 其中,数据对象和数据关系的定义采用数学符号和自然语言描述,基本操作的定义格式为:

 基本操作名(参数表)
     初始条件:<初始条件描述>
     操作结果:<操作结果描述>

基本操作有两种参数:赋值参数只为操作提供输入值;引用参数以“&”打头,除可提供输入值外,还将返回操作结果。

标签:术语,Data,元素,存储,数据结构,数据,基本概念,结构
From: https://www.cnblogs.com/Santariki/p/16780037.html

相关文章

  • 数据结构在实际开发(c r u d)中的作用
    1、线性表和map、这两个东西基本上做各种curd应用很够了;栈除了做一些复杂的算法以外不存在什么开发用处、而队列基本上都用队列中间件来完成、自己程序里就没必要弄队......
  • 程序、进程、线程、多线程是什么,为什么要用多线程?Java基础复习--数组数据结构分析 ins
    大家可分享关于Java微服务相关知识,包括但不限于Java微服务开发经验、架构组成、技术交流、中间件等内容,我们鼓励springcloud架构为基础发散出击,从而达到技术积累的目的,快来......
  • 通关数据结构 day_05 -- 单调队列
    单调队列经典应用:滑动窗口里的最大值/最小值举例假设有序列:13-1-35367第一次滑动窗口是 【1 3 -1】最小值是-1第二次滑动窗口是 【3 -1 -3】最小值是-3以......
  • 「Java 数据结构」:手撕单链表的增删改查及大厂面试题。
    目录​​一、单链表的增删改查​​​​1、创建结点     ​​​​2、单链表的添加操作​​​​3、单链表的删除操作​​​​4、单链表的有效结点的个数​​​​二、......
  • 搜索中常见数据结构与算法探究(一)
    1前言ES现在已经被广泛的使用在日常的搜索中,Lucene作为它的内核值得我们深入研究,比如FST,下面就用两篇分享来介绍一些本文的主题:第一篇主要介绍数据结构和算法基础和分......
  • 004Java的一些基本概念
    004Java的一些基本概念1、Java特性和优势Java至少具有以下特性:简单性(没有头文件、没有指针运算、也没有分配内存等操作)面向对象(万物皆对象)可移植性(一次编写,到处运行......
  • 数据结构基础—栈和队列
    数据结构基础—栈和队列一、栈和队列的基本概念和性质栈和队列都是特殊的线性表对他们的操作有着规定和限制:在插入和删除时只能对某一端操作栈:只能在一端进行(先进后......
  • 围棋术语有意思
    小猴子脸大猴子脸驴脸or马脸天王山“天王山”一词在围棋中指的是双方大模样(势力)消涨的要点,意思是特别重要,有如天王山一般。源出日本“山崎合战”史事。天正十年(1582......
  • 进程 - 术语解释
    简而言之,进程是正在执行的程序实例。执行程序时,内核会将程序代码载入虚拟内存,为程序变量分配空间,建立内核记账(bookkeeping)数据结构,以记录与进程有关的各种信息(比如,进程id,......
  • k8s 的一些基本概念 Pod
    ##Pod  我们在实际开发中,往往需要两个或者来两个以上的容器形成工作组,共同完成工作,比方说:nginx 和tomcat,通过nginx 反向代理到 tomcat  我们就可以通过 POd来帮......