首页
学习
活动
专区
圈层
工具
发布

#递归

快速排序:一种高效的排序算法

禁默

3.quickSort函数:实现了递归排序的功能。它会递归地对基准元素左边和右边的子数组进行排序,直到子数组的大小为1时停止递归。

2900

【C++】深入解析AVL树:平衡搜索树的核心概念与实现

我不是呆头

本文深入解析了AVL树的核心概念与实现,包括节点结构设计、平衡因子定义及其更新机制、插入操作的自下而上平衡调整策略,以及四种旋转方式(左单旋、右单旋、左右双旋、...

3310

【C++】深入拆解二叉搜索树:从递归与非递归双视角,彻底掌握STL容器的基石

我不是呆头

二叉搜索树(BST)是一种重要的数据结构,它通过"左子树所有节点值小于根节点,右子树所有节点值大于根节点"的特性实现高效的元素组织。本文详细解析了BST的核心概...

2610

《告别手动编译!make/makefile 一键构建》

我不是呆头

🚀 欢迎来到《Linux系统实战》! 这里是命令行到内核的跃迁基地,也是你从"rm -rf恐惧症"到"权限管理大师"的修炼场。

4910

数据结构与算法——链式二叉树

我不是呆头

递归分为两个阶段,分别是递推与回归,先递推,然后回归。 定义:递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数自己调用自己。 思想:把⼀个⼤型复杂问题...

1610

函数的递归

我不是呆头

递归是学习C语⾔函数绕不开的⼀个话题,那什么是递归呢?递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。

4610

数据结构-二叉树中的递归

禁默

上面这个版本虽然能计算出二叉树的高度,但是我们会发现它会冗余的进行递归,在进行比较后,又会递归求解比较高的子树,然后又会进行递归,所以我们可以每次递归后将树的高...

5310

二叉树的链式结构

禁默

二叉树是一种数据结构,其中每个节点最多有两个子节点,分别是左子节点和右子节点。二叉树的链式结构表示是使用指针(或引用)来连接节点,形成树形结构。每个节点包含一个...

5710

c语言回顾-函数递归

禁默

递归包括两个关键要素:基本情况和递归情况。基本情况是指当问题达到某个特定条件时,不再需要递归调用,可以直接返回结果。递归情况是指在解决问题的过程中,通过调用自身...

6910

时间与空间复杂度(详解)

禁默

算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏,一般 是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。

5410

数据结构1-复杂度与泛型

景画

4610

青蛙跳台阶的非递归和递归做法

景画

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。

4010

算法奇妙屋(四)-归并分治

景画

6910

算法奇妙屋(三)-快排分治

景画

8810

2025-12-07:使叶子路径成本相等的最小增量。用go语言,给出一个整数 n 和一棵以节点 0 为根的树(节点编号 0 到

福大大架构师每日一题

2025-12-07:使叶子路径成本相等的最小增量。用go语言,给出一个整数 n 和一棵以节点 0 为根的树(节点编号 0 到 n−1)。树用长度为 n−1 的...

7610

2025-11-13:折扣价交易股票的最大利润。用go语言,公司有 n 名员工,编号从 1 到 n,编号 1 为 CEO。 pr

福大大架构师每日一题

2025-11-13:折扣价交易股票的最大利润。用go语言,公司有 n 名员工,编号从 1 到 n,编号 1 为 CEO。

8810

2025-11-09:给边赋权值的方案数Ⅰ。用go语言,给定一棵以节点 1 为根的无向树,共 n 个节点,边由长度为 n−1 的

福大大架构师每日一题

通过深度优先搜索(DFS)从根节点(节点1)开始遍历整棵树,计算每个节点的深度(到根节点的距离)。在DFS过程中,维护当前深度信息,递归访问每个未访问过的子节点...

7210

【怒刷力扣】二叉树的公共祖先类题目,搞懂搜索整棵树和搜索单条边的区别,轻松手撕算法题

程序员三明治

美团 | 大模型后台开发 (已认证)

👨‍💻程序员三明治:个人主页 🔥 个人专栏: 《设计模式精解》 《重学数据结构》

7410

LeetCode 215.数组中的第K个最大元素(应用快排思想用On复杂度解决)

程序员三明治

美团 | 大模型后台开发 (已认证)

请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

7110

快速排序详解,一文搞懂切分、双路快排的做法,从0-1学会快排 LeetCode 912. 排序数组

程序员三明治

美团 | 大模型后台开发 (已认证)

你必须在 不使用任何内置函数 的情况下解决问题,时间复杂度为 O(nlog(n)),并且空间复杂度尽可能小。

9510
领券