Press "Enter" to skip to content
Home » 数据结构与算法
理论基础篇
线性表
排序算法
查找算法
哈希表
二叉树
图
算法面试题篇
数组/链表
字符串
- 替换字符串中的空格
- 字符串的排列组合
- 第一个只出现一次的字符
二叉树
- 重建二叉树(前序遍历、中序遍历)
- 树的子结构
- 二叉树的镜像
- 从上往下打印二叉树(按层遍历)
- 二叉搜索树的后序遍历序列(后序遍历)
- 二叉树中和为某一值的路径(前序遍历)
- 二叉搜索树和双向链表的转换(中序遍历)
- 二叉树的深度
- 判断一棵树是否是平衡二叉树
排序算法
- 对公司员工年龄进行排序(快速排序)
- 数组中出现次数超过一半的数字(快速排序)
- 最小的k个数(快速排序、堆排序、红黑树)
- 把数组元素排成最小的数(快速排序、大数问题)
- 丑数(空间换时间)
- 数组中的逆序对(借助归并排序的流程统计)
查找算法
- 旋转数组的最小数字(二分查找)
- 数字在排序数组中出现的次数(二分查找的变形版本)
递归
- 递归应用:斐波那契数列
- 斐波那契数列应用:青蛙跳台阶算法
- 数值的整数次方
- 从 1 到整数 n 中 1 出现的次数(结合排列组合知识)
位运算
- Excel 中字母编码列对应的整数值
- 二进制整数中 1 的个数
- 数组中只出现一次的数字
动态规划