Press "Enter" to skip to content

数据结构与算法

理论基础篇

线性表

排序算法

查找算法

哈希表

二叉树

  • 图的基本概念
  • 广度优先搜索
  • 深度优先搜索

算法面试题篇

数组/链表

字符串

  • 替换字符串中的空格
  • 字符串的排列组合
  • 第一个只出现一次的字符

二叉树

  • 重建二叉树(前序遍历、中序遍历)
  • 树的子结构
  • 二叉树的镜像
  • 从上往下打印二叉树(按层遍历)
  • 二叉搜索树的后序遍历序列(后序遍历)
  • 二叉树中和为某一值的路径(前序遍历)
  • 二叉搜索树和双向链表的转换(中序遍历)
  • 二叉树的深度
  • 判断一棵树是否是平衡二叉树

排序算法

  • 对公司员工年龄进行排序(快速排序)
  • 数组中出现次数超过一半的数字(快速排序)
  • 最小的k个数(快速排序、堆排序、红黑树)
  • 把数组元素排成最小的数(快速排序、大数问题)
  • 丑数(空间换时间)
  • 数组中的逆序对(借助归并排序的流程统计)

查找算法

  • 旋转数组的最小数字(二分查找)
  • 数字在排序数组中出现的次数(二分查找的变形版本)

递归

  • 递归应用:斐波那契数列
  • 斐波那契数列应用:青蛙跳台阶算法
  • 数值的整数次方
  • 从 1 到整数 n 中 1 出现的次数(结合排列组合知识)

位运算

  • Excel 中字母编码列对应的整数值
  • 二进制整数中 1 的个数
  • 数组中只出现一次的数字

动态规划

  • 连续子数组的最大和
发表回复