回溯法总结

回溯法其实就是递归,暴力搜索N叉树。做题画一颗N叉树,适当时剪枝。

回溯法能解决的问题:

  • 组合问题:N个数里面按一定规则找出k个数的集合
  • 排列问题:N个数按一定规则全排列,有几种排列方式
  • 切割问题:一个字符串按一定规则有几种切割方式
  • 子集问题:一个N个数的集合里有多少符合条件的子集
  • 棋盘问题:N皇后,解数独等等
阅读更多

二叉树总结

关于二叉树,最重要的莫过于遍历了。

  • 深度优先遍历和层次遍历(广度优先遍历)
  • 递归实现和迭代实现
  • 前序遍历、后序遍历以及中序遍历

那么一共有(3+2)*2=10种模版之多。先看前序遍历。

阅读更多

动态规划

笔记来自代码随想录,题目加自己题解。

动态规划五部曲

  • 确定dp数组下标含义

  • 确定递推公式(状态转移)

  • dp数组初始化

  • 确定遍历顺序

  • 举例推导

阅读更多