Skip to content

概述

数据结构分类

常见的数据结构包括数组、链表、栈、队列、哈希表、图、树、堆,可以从“逻辑结构”和“物理结构”进行分类。

逻辑结构:线性与非线性

逻辑结构揭示了数据元素之间的逻辑关系。如

  • 在数组和链表中,数据按照一定顺序排列,体现了数据之间的线性关系;
  • 而在树中,数据从顶部向下按层次排列,表现出“祖先”与“后代”之间的派生关系;
  • 图则由节点和边构成,反映了复杂的网络关系。

可分为“线性”与“非线性”两部分。线性结构比较直观,指数据在逻辑关系上呈线性排列;非线性结构则相反,呈非线性排列。

  • 线性数据结构:数组、链表、栈、队列,元素是一对一的顺序关系。
  • 非线性数据结构:树、堆、图、哈希表。

非线性数据结构可以进一步划分为树形结构和网状结构。

  • 树形结构:树、堆、哈希表,元素之间是一对多的关系。
  • 网状结构:图,元素之间是多对多的关系。 image.png

物理结构:连续与分散

物理结构反映了数据在计算机内存中的存储方式,可分为连续空间存储(数组)和分散空间存储(链表)。 image.png

所有数据结构都是基于数组、链表或二者的组合实现的

  • 基于数组可实现:栈、队列、哈希表、树、堆、图、矩阵、张量(维度 ≥3 的数组)等。
  • 基于链表可实现:栈、队列、哈希表、树、堆、图等。

基本数据类型

基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。

基本数据类型以二进制的形式存储在计算机中。一个二进制位即为 1 比特。在绝大多数现代操作系统中,1 字节(byte)由 8 比特(bit)组成。

Released under the MIT License.