算法设计与分析(含刷题)
文章平均质量分 82
StarPrayers.
靡不有初,鲜克有终。
展开
-
回溯法——(1)装载问题(C语言讲解)
有一批共n个集装箱要装上2艘载重量分别为c1和c1的轮船,其中集装箱i重量为wi,且装载问题要求确定是否有一个合理的装载方案可将这一批集装箱装上这2艘轮船。如果有,找出一种装载方案。原创 2024-04-30 08:57:10 · 1039 阅读 · 0 评论 -
Leetcode509——斐波那契数(C语言)
斐波那契数列是计算机科学中最著名的数列之一,而LeetCode 509题正是以此为基础的一道经典编程题目。在这个问题中,我们需要实现一个函数,计算斐波那契数列的第n项。这一题不仅考验我们对斐波那契数列的理解,还测试了我们编写高效算法的能力。原创 2024-04-01 20:15:24 · 190 阅读 · 0 评论 -
(使用C语言详解)求一个集合的全部子集(leetcode编程笔记)
这个算法的关键在于理解如何使用二进制数来表示和生成子集。每个子集都可以通过改变tag的某一位来得到下一个子集。当tag的某一位被设置为1时,表示对应数组元素被包含在子集中;当该位被设置为0时,表示对应元素不被包含。通过这种方式,我们可以遍历所有可能的子集。原创 2024-03-23 21:30:16 · 841 阅读 · 0 评论 -
Leetcode70——爬楼梯(斐波那契类型)(C语言)(通过该问题讲解动态规划基本思想)
Fibonacci数列的例子可以得到,动态规划的关键在于解决重叠子问题的重复计算,将原来指数级复杂度的分治算法改进多项式级的计算。在实现过程中,动态规划算法需要存储各子问题的解,所以它的空间复杂度大于其他算法,这是一种空间换时间的策略。原创 2024-03-29 15:34:03 · 972 阅读 · 0 评论