数据结构与算法脑图

数据结构与算法脑图_第1张图片
数据结构与算法脑图_第2张图片

数据结构

非受限线性表

  • 顺序结构

  • 数组

    • 支持 O(1) 的随机访问
    • 平均为 O(n) 的插入和删除
    • 警惕越界错误,导致 Stack Over Flow
  • 链式结构

    • 单链表
      • 不支持随机访问,需要遍历去访问结点
      • 插入和删除只需要移动指针,时间复杂度为 O(1)
      • 每个结点需要额外的空间存储指针,需要的内存比数组大
    • 双链表
      • 在单链表的基础上,除头结点外,每个结点多了一个存放前驱结点内存地址的指针
    • 循环链表

      • 尾节点指针指向头结点
    • 静态链表

      • 借助数组,伴随指向后继结点的指针

受限线性表

    • 顺序和链式都可以实现,先进后出
    • 实际应用
      • 浏览器的前进与后退
      • 括号匹配
      • 表达式计算

你可能感兴趣的:(数据结构与算法,编程练习-Leetcode,数据结构,算法)