算法学习笔记
文章平均质量分 66
Farrol
保持热爱,奔赴山海!
展开
-
算法题题解:分隔链表
通过使用两个虚拟头节点,我们可以很方便地将链表中的节点分割成两部分(小于x和大于等于x),并在最后将它们连接起来。这样不仅简化了代码结构,而且避免了复杂的头节点处理,使得代码更为简洁明了。这种方法在时间和空间上都具有较好的性能,适合处理大规模链表的分隔问题。这篇文章详细描述了解题思路、代码实现和复杂度分析,供大家参考学习。原创 2024-09-29 23:07:54 · 323 阅读 · 0 评论 -
算法题题解:合并两个有序链表(C语言和java实现)
LeetCode原题: 21. 合并两个有序链表C语言版java版谢谢观看!如果觉得博客对您有用的话,还请帮我点点赞,加个关注,一起学习算法。原创 2024-09-29 19:48:46 · 261 阅读 · 0 评论 -
算法题题解:两个链表的交点
通过这个双指针的方法,我们能够高效地找到链表的交点,避免了使用额外的空间和复杂的哈希表。希望这篇文章能帮助你更好地理解这个经典问题!原创 2024-09-28 21:33:46 · 397 阅读 · 0 评论 -
算法题解:斐波那契数列(C语言)
通过对比递归算法和动态规划算法,显然动态规划具有更优的性能。为了避免递归中的重复计算,我们可以使用动态规划的思想。斐波那契数列是一个经典的数学序列,其中每一项的值是前两项的和。递归算法是计算斐波那契数列的一种直观方法,基于定义中的递推公式,递归函数将从。,因为只用了固定的几个变量来存储中间结果,不需要额外的数组。,我们都会调用两次递归函数,这会导致指数级的增长。输入一个正整数n,求斐波那契数列的第n项。递归调用使用了栈空间,空间复杂度为。,即斐波那契数列的第五项。,因为递归的深度最深为。原创 2024-09-16 22:51:25 · 638 阅读 · 0 评论 -
算法题解:查找书籍
输入第一行给出正整数n(原创 2024-09-26 12:04:33 · 347 阅读 · 0 评论