数据结构笔记浅记(四)数据结构分类

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

逻辑结构:线性与非线性

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

        线性结构比较直观,指数据在逻辑关系上呈线性排列;非线性结构则相反,呈非线性排列。

        ‧ 线性数据结构:数组、链表、栈、队列、哈希表,元素之间是一对一的顺序关系。

        ‧ 非线性数据结构:树、堆、图、哈希表。

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

                             ‧ 树形结构:树、堆、哈希表,元素之间是一对多的关系。

                             ‧ 网状结构:图,元素之间是多对多的关系。

 

物理结构:连续与分散

当算法程序运行时,正在处理的数据主要存储在内存中。内存想象成一个巨大的 Excel 表格,其中每个单元格都可以存储一定大 小的数据。 

系统通过内存地址来访问目标位置的数据。计算机根据特定规则为表格中的每个单元格分配编号,确保每个内存空间都有唯一的内存地址。有了这些地址,程序便可以访问内存中的数据。

内存是所有程序的共享资源,当某块内存被某个程序占用时,则无法被其他程序同时使用了。因此在数据结 构与算法的设计中,内存资源是一个重要的考虑因素。

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

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

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

        ‧ 基于链表可实现:栈、队列、哈希表、树、堆、图等。

 

基于数组实现的数据结构也称“静态数据结构”,这意味着此类数据结构在初始化后长度不可变。相对应地, 基于链表实现的数据结构也称“动态数据结构”,这类数据结构在初始化后,仍可以在程序运行过程中对其长 度进行调整。

数据结构是在计算机中组织与存储数据的方式。

基本数据类型提供了数据的“内容类型”,而数据结构提供了数据的“组织方式”。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章