- 博客(5)
- 收藏
- 关注
原创 蓝桥杯中的DFS(含算法分析,蓝桥杯真题,解题思路和代码)
深度优先搜索算法 (DFS)1.定义:对每一个可能的分支路径深入到不能再转移为止,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直至找到最终的解。深度优先搜索采用递归函数实现,隐式栈实现。其实我们会发现深度优先搜索和宽度优先搜索很像,都是由父节点到子节点的过程,不过每次深度优先搜索都会优先选择子节点,而直到子节点完全搜索了,就会回到上一个节点,再到另一个子节点,就相当于原子节点一个兄弟节点,这与宽度优先搜索优先搜索兄弟节点相反。
2025-04-09 21:07:37
998
原创 蓝桥杯中的BFS(含算法分析,蓝桥杯真题,解题思路和代码)
BFS(宽度优先搜索)值得注意的是BFS是依靠队列来进行实现,正如DFS是依靠栈,这个思想有助于我们理解算法。蓝桥杯真题:青蛙跳杯子。
2025-04-04 23:59:17
1151
原创 双指针算法总结(二):同向双指针(滑动窗口),背向双指针(分离指针),包括算法原理,适用场景,力扣原题(环形列表,长度最小的子字符串,最长回文子串),思路分析和总结反思,含java代码
环形列表,长度最小的子字符串,最长回文子串同向双指针(快慢指针)算法原理:两个指针从同一端开始,按照相同的方向移动,但移动速度不同。指针移动方向相同通常用于链表或数组中的滑动窗口问题如链表中的环检测滑动窗口问题删除数组中的重复元素。力扣原题:1.环形列表141. 环形链表 - 力扣(LeetCode)题目描述:给定一个链表,判断链表中是否有环。若有则返回true,反之false。
2025-03-18 10:40:29
842
原创 双指针算法总结(一):同向双指针,包括算法原理,适用场景,力扣原题(两数之和 II - 输入有序数组 ,验证回文串),思路分析和总结反思,含C语言,java代码
对向双指针原理两个指针分别从数据结构(如数组、字符串)的两端开始,朝着对方的方向移动,直到两个指针相遇或者满足特定的终止条件。
2025-02-23 22:54:33
666
原创 贪心算法:由P3817小A的糖果入手(C语言,java解答)
思路:我们此时要将问题分解成子问题,也就先比较n盒糖果中前面的几个在满足题目要求时最少需要丢掉的糖果,不妨以第一个示例为例,我们发现前两个没有区别,去掉任意一盒子内的一个糖果就可,但此时我们会发现,去掉第二个盒子中的一个使得第三个盒子所需去掉的糖果数目减少,从而要去掉的总数减少。总结:在做贪心算法题时,我们通常会发现题目会询问一个最优解,如此题的最少,这可以作为我们判断进行贪心算法的依据,再把问题分解成子问题,将子问题得到局部最优解后,推理出贪心策略,从而运用贪心策略解决问题。行,每行包含两个整数。
2025-02-09 15:41:50
682
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人