算法基础

目录

  • 数据结构
    • 数组
    • 链表
    • 二叉树
  • 算法
    • 快排
    • 二分查找
    • 递归

数据结构

数组

  • 排序
  • 查找
    • 二分查找
    • 包含重复元素的首元素索引
  • 技巧
    • 最大连续和
    • 查找次数超过 n/2 的元素

链表

  • 节点定义
  • 单链表 & 双链表
  • 倒序
  • 合并
    • 两个有序链表合并
    • 多个有序链表合并

二叉树

  • 节点定义

  • 构造

    • 由数组构造二叉树
    • 由遍历结果构造二叉树
  • 遍历

    • 深度优先遍历
    • 广度优先遍历
    • 先、中、后序遍历
  • 应用

    • 两个节点的首个公共父节点
    • 最大连通度
    • 最大连通和

常见解题思路 递归,根据当前节点信息、递归左子树返回数据、递归右子树返回数据,判断是否解决;有时需要额外的变量存储结果。