<aside> 🐳 What is a Graph?
<aside> 📌 Depth-First Search Algorithm
Backtracking describes the behavior of DFS - 从一个分支遍历完,回到母节点再去尝试其他分支。
Keywords:
DFS题 Key Questions to Ask:
Typical Problems
模版:
// dfs helper function
private void findAllSolutions(input needed for each layer of search) {
// 1. base case - already found all solutions
// 2. check one element during each layer of search.
// 2.1 进入下一层去搜索之前,在当前层要做什么操作? - 加,但是不能盲目的加。明知道分支不是解的话,别浪费时间和空间 => 剪枝
findAllSolutions(input, cur, res);
// 2.2 backtracking - 返回到当前层时需要做什么事情? - 吐, 吃吐守
}
明知道有些分支不对的话,不要去搜索 ⇒ 剪枝。 要不然浪费时间和空间。 </aside>
<aside> 🐳 易错点:
StringBuilder APIs:
sb.append(element)
sb.deleteCharAt(index)
sb.toString()
sb.length()
</aside>
<aside> 🌵 Table of Contents
</aside>
Date: August 15, 2023
Date: August 18, 2023
Date: August 18, 2023
Date: August 18, 2023
Date: August 18, 2023