C++算法
文章平均质量分 75
深度讲解C++竞赛算法,由浅入深,由易到难,持续更新中....
小米睡不醒.
热爱学习编程,以及编程知识的分享!
展开
-
蓝桥杯必考算法递归以及相关题目
蓝桥杯递归算法和相关题目原创 2024-02-27 20:15:58 · 1026 阅读 · 11 评论 -
c++力扣题目全排列
典型的回溯题⽬,我们需要在每⼀个位置上考虑所有的可能情况并且不能出现重复。索的⽅式,不断地枚举每个数在当前位置的可能性,并回溯到上⼀个状态,直到枚举完所有可能性,每个数是否可以放⼊当前位置,只需要判断这个数在之前是否出现即可。在每个递归状态中,枚举所有下标i,若这个下标未被标记,则使⽤。数组的⻓度时,说明我们已经处理完了所有数字,将当前数组。标记元素,然后从第⼀个位置开始进⾏递归;⽤来存放所有可能的排列,⼀个⼀维数组。在每个递归的状态中,我们维护⼀个路径。,表⽰当前已经处理的路径;⽤来存放每个状态的排。原创 2023-11-02 19:30:40 · 137 阅读 · 0 评论 -
C++数据结构算法篇Ⅰ
主要内容讲解数据结构中的链表结构原创 2023-11-01 21:39:30 · 221 阅读 · 1 评论 -
C++二叉树的所有路径
我们从这道题中了解到全局变量在回溯中的重要意义,和利用函数的递归特性帮我们实现path字符串的生成。原创 2023-11-01 16:33:59 · 140 阅读 · 0 评论 -
C++二叉搜索树中第K小的元素
1.定义⼀个全局的变量count,在主函数中初始化为k的值(不⽤全局也可以,当成参数传⼊递归过。个最小元素(从 1 开始计数)。我们采用中序遍历+计数器剪枝的思路。,请你设计一个算法查找其中第。给定一个二叉搜索树的根节点。直接返回,说明没有找到;原创 2023-11-01 15:36:12 · 104 阅读 · 0 评论 -
C++递归实现验证⼆叉搜索树
后序遍历按照左⼦树、根节点、右⼦树的顺序遍历⼆叉树的所有节点,通常⽤于⼆叉搜索树相关题⽬。中序遍历的过程中,先判断是否和前驱结点构成递增序列,然后修改前驱结点为当前结点,传⼊下⼀。如果⼀棵树是⼆叉搜索树,那么它的中序遍历的结果⼀定是⼀个严格递增的序列。给你⼀个⼆叉树的根节点root,判断其是否是⼀个有效的⼆叉搜索树。c.然后判断当前结点是否满⾜⼆叉搜索树的性质,⽤**b. 先递归判断左⼦树是否是⼆叉搜索树,⽤**d.最后递归判断右⼦树是否是⼆叉搜索树,⽤**初始化⼀个全局的变量**原创 2023-10-31 20:08:06 · 160 阅读 · 0 评论 -
C++二叉树剪枝
函数的返回值:根据题目的意思我们要将那些全零的子树全部在树中删除,那么我们最好是返回一个。首先我们应该想到我们去递归解答这道题目,函数的参数非常好确认就是。未使用额外的空间,空间复杂度为:O(1);请剪除该二叉树中所有节点的值为。我们要实现的肯定是一个深度优先遍历。,树的每个节点的值要么是。时间复杂度为O(N);原创 2023-10-30 22:28:26 · 702 阅读 · 0 评论 -
C++求根节点到叶子节点数字之和
戒指条件就是当我们遇到叶子节点的时候我们只需要返回。相当于深度优先遍历了二叉树,所以时间复杂度就是。其实对于这种二叉树类的题目,并且又提到。这个函数可以将root中的值算出来;额外使用了常数个变量所以空间复杂度是。所以我们尝试用dfs来解答这道题目。,树中每个节点都存放有一个。计算从根节点到叶节点生成的。至此我们解题思路就到此为止。给定一个二叉树的根节点。是指没有子节点的节点。根节点--->叶节点。,我们应该很容易想到。原创 2023-10-29 13:28:17 · 310 阅读 · 0 评论 -
C++快速幂(递归)
通过这样的方法我们就可以将计算n次方的时间复杂度降到。的时候我们将它转成正数会越界,所以我们在转化之前将它转成。采用了快速幂的算法思路我们只需要O(每次递归中都声明了一个临时变量。那么答题思路就是如上所示。)的复杂度即可解决问题;,所以空间复杂度是O(原创 2023-10-27 12:09:42 · 385 阅读 · 0 评论 -
合并有序链表C++递归
递归解决力扣合并有序链表的问题原创 2023-10-24 19:13:29 · 92 阅读 · 0 评论 -
C++哈希
本博客主要内容讲解C++11哈希方面相关的知识原创 2023-10-15 17:32:39 · 112 阅读 · 0 评论 -
C++基础算法离散化及区间合并篇
主要讲解了双指针,位运算,离散化以及区间合并。原创 2023-07-19 20:43:24 · 1306 阅读 · 0 评论 -
C++基础算法高精度篇
主要讲解了高精度算法的四种常用的计算原创 2023-07-19 20:26:37 · 1088 阅读 · 0 评论 -
C++基础算法二分篇
主要讲解二分算法,分别讲解了整数二分和浮点二分原创 2023-07-19 20:19:37 · 1042 阅读 · 0 评论 -
C++基础算法排序篇
主要讲解C++算法中所涉及到的两个排序算法,快排和归并。原创 2023-07-19 20:07:39 · 895 阅读 · 0 评论