
树&二叉树&搜索与图论
文章平均质量分 73
搜索与图论:
DFS与BFS
树与图的遍历
最短路
最小生成树
二分图
....
carroll18
你想要拥有你从未有过的东西,你必须去做你从未做过的事情。
展开
-
[leetcode]二叉树的遍历问题
原创 2022-05-11 14:22:03 · 182 阅读 · 0 评论 -
图论之差分约束问题详细介绍和例题练习
差分约束差分约束例题原创 2021-05-31 15:17:26 · 165 阅读 · 0 评论 -
图论之BFS问题详细介绍和例题练习
文章目录BFS单源BFS多源BFSBFS例题单源BFS例题多源BFS例题BFS单源BFS单源BFS就是树的广搜思路,把根节点入队,然后一层层的遍历多源BFS多源BFS就是图的广搜思路,可以多个源点入队,为防止某个点入队多次,需要标记,多源BFS一般用于解决下面这种多源点问题,会提高代码执行效率。BFS例题单源BFS例题多源BFS例题1162. 地图分析class Solution { public int maxDistance(int[][] grid) {原创 2021-05-14 22:36:18 · 1200 阅读 · 0 评论 -
图论之最小生成树问题详细介绍和例题练习
最小生成树问题最小生成树例题原创 2021-05-13 15:25:42 · 1885 阅读 · 0 评论 -
图论之最短路问题详细介绍和例题练习
最短路最短路例题743. 网络延迟时间787. K 站中转内最便宜的航班1334. 阈值距离内邻居最少的城市814. 无向图中的最短路径Sightseeing Trip孤岛营救问题架设电话线农场派对Roadblocks最短路计数新年好最优贸易汽车加油行驶问题道路和航线...原创 2021-05-10 22:48:54 · 935 阅读 · 0 评论 -
图论之FloodFill问题详细介绍和例题练习
FloodFill概述最短路原创 2021-05-08 23:03:46 · 484 阅读 · 0 评论 -
103. 二叉树的锯齿形层次遍历
BFSclass Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> list = new ArrayList<>(); Queue<TreeNode&g...原创 2020-04-30 08:53:52 · 166 阅读 · 0 评论 -
22. 括号生成
DFSclass Solution { List<String> list = new ArrayList<>(); public List<String> generateParenthesis(int n) { dfs(n,n,""); return list; } void dfs(i...原创 2020-04-23 21:54:01 · 187 阅读 · 0 评论 -
107. 二叉树的层次遍历 II
这道题主要要注意LinkedList 和 ArrayList 的区别,以及LinkedList 特有的方法运用。class Solution { public List<List<Integer>> levelOrderBottom(TreeNode root) { LinkedList<List<Integer>> ...原创 2020-04-16 21:55:38 · 162 阅读 · 0 评论 -
剑指 Offer 33. 二叉搜索树的后序遍历序列
递归class Solution { public boolean verifyPostorder(int[] postorder) { return helper(postorder,0,postorder.length-1); } public boolean helper(int[] postorder,int i , int j){ if(i>=j){ return true; } ..原创 2020-06-22 21:04:05 · 214 阅读 · 0 评论 -
654. 最大二叉树
class Solution { public TreeNode constructMaximumBinaryTree(int[] nums) { return construct(nums, 0, nums.length); } public TreeNode construct(int[] nums, int l, int r) { if (l == r) return null; int max_i = .原创 2020-05-13 23:02:48 · 168 阅读 · 0 评论 -
114. 二叉树展开为链表
class Solution { public void flatten(TreeNode root) { //左子树为 null,直接考虑下一个节点 while(root!=null){ if(root.left==null){ root = root.right; }else{...原创 2020-04-30 20:32:11 · 183 阅读 · 0 评论 -
230. 二叉搜索树中第K小的元素
class Solution { List<Integer> list = new ArrayList<>(); public int kthSmallest(TreeNode root, int k) { dfs(root); return list.get(k-1); } void dfs(TreeNo...原创 2020-04-23 22:21:58 · 137 阅读 · 0 评论 -
树&二叉树&二叉搜索树
98. 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ ...原创 2020-05-16 23:41:34 · 254 阅读 · 0 评论