文章目录
- 回溯算法
- 动态规划
- 排序算法
- 链表
- 二叉树
- 字符串
- 数组
- 哈希表
回溯算法
- 组合问题
- 字符串切割问题
- 排列问题
- 子集问题
- 递增子序列问题
- 棋盘
动态规划
- 动态规划基础
- 背包问题
- 01背包 (二维,一维滚动背包)
- 完全背包
- 多重背包
- 股票问题
- 打家劫舍
- 子序列问题
排序算法
- 排序算法时间复杂度
- 选择排序
- 冒泡排序
- 插入排序
- 希尔排序
- 归并排序
- 堆排序
- 快速排序
- 基数排序
- 桶排序
- 计数排序
链表
二叉树
- 前序遍历,递归与非递归
- 中序遍历,递归与非递归
- 后序遍历,递归与非递归
- 二叉树的层次遍历
- 二叉树的最大深度
- 二叉树的最大宽度
- 如何判断一颗二叉树是否是搜索二叉树
- 如何判断一颗二叉树是否是完全二叉树
- 如何判断一颗二叉树是否是满二叉树
- 如何判断一颗二叉树是否是平衡二叉树
- 给定两个二叉树的节点node1和node2,找到他们的最低公共祖先节点
字符串
数组
解题思路:二分法、双指针、滑动窗口、模拟行为
- 二分查找
- 移除元素
哈希表