数据结构与算法刷题之【深搜&宽搜递归&分治&剪枝回溯】篇
<p>汇总搜索与回溯相关的数据结构与算法刷题笔记,讲解深度优先搜索、广度优先搜索、分治、剪枝与回溯的原理与模板,涵盖排列组合、迷宫等题型并给出Java实现。</p>
<p>汇总搜索与回溯相关的数据结构与算法刷题笔记,讲解深度优先搜索、广度优先搜索、分治、剪枝与回溯的原理与模板,涵盖排列组合、迷宫等题型并给出Java实现。</p>
<p>本文讲解 LeetCode 第 543 题「二叉树的直径」,求任意两节点间最长路径的边数。通过后序深度优先搜索,在递归过程中不断更新每个节点左右子树深度之和的最大值,时间复杂度 O(n),并附 Java 代码与图解。</p>
<p>本文讲解 LeetCode 第 617 题「合并二叉树」,将两棵树重叠节点值相加合并为新树。分别给出 DFS 递归与 BFS 队列两种实现,处理节点为空时直接返回另一子树,时间复杂度 O(min(m,n)),附完整 Java 代码。</p>