数据结构和算法的基础知识

106 阅读1分钟

1. 数据结构及算法思想

1. 数组(整数反转

特性:
  • 数组容量固定不变,需在创建数组时指定
  • 使用连续的物理空间存储数据
  • 可以通过下标在O(1)的时间复杂下读取数据
算法思维:
  • 遍历
  • 逆序
  • 原地交换
  • 数学思维:取模、累加

2. 单链表(两数相加

特性:
  • 数据存储不要求连续空间,不限制容量
  • 数据的逻辑顺序通过指针链接次序实现
  • 从链表头部依次访问后面的节点
  • 链表插入数据的时间复杂度是O(1)
  • 节点的next指向null, 代表链表的结尾
算法思维:
  • 数学竖式
算法知识:
  • 异或运算相当于不进位的加法: a ^ b
  • 进位即相当于a & b的结果左移一位: (a & b) << 1

3. 栈(删除最外层的括号

特性:
  • 仅在表尾进行插入和删除操作的线性表
  • 后进后出
  • 基本操作:进栈(入栈/压栈)、出栈
算法思维:
  • 计数器
  • 累加