自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 堆排序,快速排序,归并排序精简讲解

什么是堆排序呢?想明白堆排序的原理就要先弄清楚什么是大根堆什么是小根堆大根堆:一颗完全二叉树中子节点的值都小于等于父节点的值,这就是大根堆小根堆:一颗完全二叉树中子节点的值都大于等于父节点的值,这就是小根堆那么如何建堆呢?首先可以用链式结构来实现完全二叉树,不过这样太麻烦了,所以我们这就用一个数组来表示完全二叉树。0表示根节点,1,2,是左右节点,规律:i为根节点,左节点为:2*i+1,右节点为2*i+2;是由满二叉树而引出来的,若设二叉树的深度为h除第 h 层外。

2025-11-24 15:24:45 906

原创 递归之汉诺塔问题-leetcode面试题

在定义一个过程或函数时出现调用本过程或本函数的成分称为递归.若调用自身则称为直接递归,若过程或函数p调用过程或函数q,而q又调用p,则称为间接递归。汉诺塔:leetcode 面试题 08.06. 汉诺塔问题汉诺塔就是有a,b,c,三个柱子,每个柱子上面有穿孔圆盘,大圆盘在小圆盘的下面,a柱子有n个圆盘,现在要把n个圆盘移动到c柱子上,每次只能移动一个圆盘,且大圆盘必须在小圆盘下面,移动的时候圆盘必须放在柱子上,不能拿在手上或者,放在别的物体上,意思就是只能借助a,b,c三个柱子辅助圆盘的移动。

2025-11-16 17:58:23 112

原创 A*寻路算法解释,含本人手搓简单代码和正规代码

2从open列表中选出一个F值最小的节点如果该节点为终点的算法结束,否则,取出该点,加入close列表。B:如果该点在open列表中,判断当前f值是否比open列表中的小,如果小则加入open列表中,否则丢弃。F(总代价)=G(实际代价:起点到当前点的距离)+H(估计代价:当前点到目标点的距离)A*原理和DIjkstra算法的原理差不多,建议没看懂的先去看一下Dijkstra算法。A:如果不在open列表中,如果不在 则把该点加入open列表。实现A*需要一个open列表和一个close列表,

2025-08-29 10:51:05 274

原创 Dijkstra算法详细解说

迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄杰斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。该算法可以算出从一个顶点到其余各顶点的最短路径,解决的是有权图中最短路径问题。该算法复杂度=n^2,用优先队列优化后可达到O(n*logn)【 1. Dijkstra算法简介 】通过leetcode的题目来讲解。

2025-08-28 11:54:58 191

原创 C++中自定义vector容器

/static_cast<size_t>(-1) 表示 size_t 类型能存储的最大值(因为 size_t 是无符号类型,-1 会被转换为该类型的最大值)。while (m_size + num >= m_capacity)//超过容量扩展。while (m_size+num >= m_capacity)//超过容量扩展。

2025-08-26 16:21:54 743

原创 题目3210:蓝桥杯2024年第十五届省赛真题-R 格式 的题解,以及题目分析。

/小学数学的四舍五入,我记得好像1.445 四舍五入后应该是2,而官方的却不是,所以下面代码只能拿95分,不知道有没有大佬解释一下,不会是我记错了吧?

2025-03-15 11:33:41 1681 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除