
C++
文章平均质量分 55
43v3rY0unG
逆水行舟。
展开
-
力扣_合法二叉搜索树_dfs
二叉搜索树(又:二叉查找树,二叉排序树)——Binary Search Tree解法一、递归函数递归调用的入口为helper(root, -inf, +inf),inf表示一个无穷大的值。class Solution {public: bool helper(TreeNode* root, long long lower, long long upper) { if (root == nullptr) { return true; ...原创 2021-01-15 10:34:04 · 209 阅读 · 0 评论 -
C++——函数传参三种形式(包含形参与实参)
https://blog.youkuaiyun.com/shang_0122/article/details/102208507转载 2021-01-15 10:33:11 · 294 阅读 · 0 评论 -
力扣_最小高度树_dfs
首先,先来看一下什么是二叉查找树:根节点的值大于其左子树中的任意一个节点的值,小于其右子树任意一个节点的值。这一规则适用于二叉查找树中的每一个节点,如图:总结一下就是,树的中序遍历可以得到一个升序序列。那如何保证高度最小呢?当树中的任意结点的左右子树高度差都不超过1时,整棵树的深度最小。下面时一种构造最小高度树的思路:如果序列长度为0,那么是一棵空树。 如果序列长度为1,那么只有1个根节点。 如果长度大于1,那么选取中间位置的数赋给根节点,然后前一半递归构建左子树,后一半递归构..原创 2021-01-14 21:33:11 · 546 阅读 · 0 评论 -
力扣_二叉树的深度——dfs
树的遍历方式总体分为两类:深度优先搜索(DFS)、广度优先搜索(BFS)常见的DFS:先序遍历、中序遍历、后序遍历 常见的BFS:层序遍历(即按层遍历) 求树的深度需要遍历树的所有结点,本文将介绍基于后序遍历(DFS)和层序遍历(BFS)的两种解法方法一:后续遍历(DFS)树的后序遍历 、 深度优先搜索往往利用 递归 或 栈 实现 关键点:此树的深度和其左(右)子树的深度之间的关系。显然,此树的深度等于左子树的深度与右子树的深度中的最大值 + 1.算法解析:终止条件:当root为空,说原创 2021-01-14 08:04:44 · 417 阅读 · 0 评论 -
DFS和BFS理解+模板+例题
DFS(深度优先搜索)本质上是暴力把所有的路径都搜索出来,它运用了回溯,保存这次的位置并深入搜索,都搜索完便回溯回来,搜下一个位置,直到把所有最深位置都搜一遍(找到目的解返回或者全部遍历完返回一个事先定好的值)。要注意的一点是,搜索的时候有记录走过的位置,标记完后可能要改回来。dfs一般借用递归完成整个算法的构造。int dfs(){ if(达到目的)处理return; else { 处理; dfs(); }}dfs原创 2021-01-13 18:45:44 · 21434 阅读 · 5 评论 -
C++ STL用法总结
https://blog.youkuaiyun.com/u010183728/article/details/81913729转载 2021-01-11 21:09:26 · 168 阅读 · 0 评论