美文网首页
数据结构与算法 01:基础名词解释 & 基本概念

数据结构与算法 01:基础名词解释 & 基本概念

作者: Style_月月 | 来源:发表于2020-09-15 21:59 被阅读0次

    数据结构与算法 文章汇总

    基础名词解释

    • 数据:程序的操作对象,用于描述客观事物,有以下两个特点

      • 可以输入到计算机

      • 可以被计算机处理

    • 数据元素:组成数据对象的基本单元

    • 数据项:一个数据元素由若干数据项组成

    • 数据对象性质相同数据元素集合,类似于数组

    以上4种名词之间的关系如下图所示:


    数据、数据对象、数据元素与数据项之间的关系
    • 结构:数据元素之间不是独立的,存在特定的关系,这些关系即是结构

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

    • 算法:对特定问题求解步骤的一种描述

    • 程序设计 = 数据结构 + 算法

    基本概念

    逻辑结构 & 物理结构

    一般从两个视角对数据进行描述,一个是逻辑结构,一个是物理结构

    • 逻辑结构:描述的是数据与数据之间的逻辑关系
    • 物理结构:描述的是数据内存存储的形式

    逻辑结构

    逻辑结构主要有以下4种:

    • 集合结构:集合中的所有元素除了同属于一个集合外,他们之间没有其他关系,如下图所示
      逻辑结构之集合结构
    • 线性结构:数据之间的关系是一对一的,所有符合一对一的都是线性结构,如下图所示

      逻辑结构之线性结构
      • 数组链表 是线性结构

      • 队列特殊线性结构,区别在于读取方式

        • 队列先进先出,即FIFO

        • 先进后出,即FILO

      • 字符串特殊线性结构,存储内容只能是字符串

    • 树形结构:数据之间的存在一对多的层次关系,如下所示

      逻辑结构之树形结构
      • 二叉树B+B-红黑树哈西曼树 都是属于树形结构
    • 图形结构:数据之间存在多对多的关系,如下图所示
      逻辑结构之图形结构

    物理结构

    数据的物理结构就是数据存储在磁盘中的方式,这里的磁盘指的是计算机的内存,主要研究的是数据结构在计算机中的实现方式,包括数据结构中的元素的表示及元素间关系的表示,有以下两种

    • 顺序存储结构逻辑相邻的数据元素,物理存储位置也相邻,顺序表的存储空间需要预先分配,且存储空间是一段的连续的内存,顺序存储结构如下图所示

      顺序存储结构
      • 优点
        • 方法简单,易实现,因为在各种高级语言中都有数组

        • 顺序存储结构具有随机访问的特点

      • 缺点
        • 顺序表中做插入/删除 操作时,需要进行大量的数据移动,因此对n较大的顺序表效率低

        • 需要预先分配空间,如果空间预估过大,会导致顺序表后面的大部分空间闲置,浪费内存,如果预估过小,又会造成溢出

    • 链式存储结构逻辑上相邻的数据元素,其物理存储位置不一定相邻,它使用指针实现元素之间的逻辑关系,且链表的存储空间动态分布的,链式存储结构如下图所示

      链式存储结构
      • 优点:
        • 不需要提前开辟一段连续的空间,其空间是动态分配

        • 插入、删除操作方便,只需要改变指针的指向,不需要移动数据元素

      • 缺点
        • 链表不能随机存取元素,如果在链式存储中遍历,需要遍历所有的元素

    相关文章

      网友评论

          本文标题:数据结构与算法 01:基础名词解释 & 基本概念

          本文链接:https://www.haomeiwen.com/subject/iidqyktx.html