数据结构基础

基本学习思维导图

1775630490160

数据结构基础核心整理

一、逻辑结构(数据元素间的逻辑关系)

  1. 集合
    数据元素之间无任何特定关联,仅同属一个集合。

  2. 线性结构
    数据元素之间存在一对一的前后关系,有唯一前驱、唯一后继。
    典型:线性表、栈、队列、字符串、数组。

  3. 树形结构
    数据元素之间存在一对多的层次关系,一个节点可对应多个子节点。
    典型:二叉树、二叉搜索树、堆、哈夫曼树。

  4. 图形结构
    数据元素之间存在多对多的任意关系,节点间可任意连通。
    典型:有向图、无向图、网(带权图)。


二、存储结构(数据在计算机中的实际存放方式)

  1. 顺序存储
  • 代表结构:数组
  • 特点:数据元素地址连续,可随机访问,插入删除效率较低。
  1. 链式存储
  • 代表结构:链表(单链表、双向链表、循环链表)
  • 特点:每个节点包含数据域 + 指针域,地址不连续,只能顺序访问,插入删除灵活高效。
  1. 索引存储
    建立附加索引表,通过索引快速定位数据。

  2. 散列存储
    通过哈希函数直接计算存储地址,实现快速查找。


三、线性表:顺序表 & 单链表(重点)

1. 顺序表

  • 本质:采用顺序存储的线性表,底层为数组。
  • 特点:
    • 物理地址连续
    • 支持随机访问,查找指定下标元素效率高 O(1)
    • 插入、删除需移动大量元素,效率低 O(n)
    • 容量固定,易造成空间浪费或溢出

2. 单链表

  • 本质:采用链式存储的线性表,每个节点含数据域和后继指针域。
  • 特点:
    • 物理地址不连续,逻辑连续
    • 不支持随机访问,只能从头遍历查找 O(n)
    • 插入、删除只需修改指针,效率高 O(1)(已知节点位置时)
    • 按需分配空间,无空间浪费

3. 顺序表与单链表对比

  • 查找:顺序表 O(1) 优于单链表 O(n)
  • 插入/删除:单链表更高效
  • 空间:顺序表静态分配,单链表动态分配
  • 适用场景:频繁查找用顺序表,频繁增删用单链表

四、算法评价标准

  1. 时间复杂度
    衡量算法执行时间随问题规模 n 增长的变化趋势,反映算法执行效率。

  2. 空间复杂度
    衡量算法在运行过程中临时占用的内存空间大小,如辅助变量、辅助数组、递归栈等占用的空间。

内容由豆包AI辅助编写

posted @ 2026-04-08 14:45  道长不姓王  阅读(12)  评论(0)    收藏  举报