自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法设计与分析基础实验报告(八)

综上所述,随着皇后数量的增加,解决n皇后问题的运行时间会急剧增加。这是因为问题的解空间呈指数级增长,导致搜索树的深度非常深。因此,当需要解决的n皇后问题规模较大时,需要使用更高效的算法或近似算法来解决问题。

2024-01-23 14:21:03 488 1

原创 算法设计与分析基础实验报告(七)

它基于一个简单的思想:每次添加成本最低的两个节点之间的边,直到所有节点都在同一个连通分量中。Kruskal算法的基本思想是以边为主导地位,始终选择当前可用(所选的边不能构成回路)的最小权植边。在Kruskal算法中,每次添加边时,需要检查该边是否与已经添加到最小生成树中的任何边形成环。并查集是一种数据结构,它可以将一组元素分组为不相交的集合,并且可以在常数时间内完成查找和合并操作。3. 遍历排序后的边,对于每个边,如果它不与已经添加到最小生成树中的任何边形成环,则将其添加到最小生成树中。

2024-01-21 17:50:41 459

原创 算法设计与分析基础实验报告(六)

1. 递归的时间复杂度是指数级的,因为递归需要重复计算相同的子问题。这是导致递归在解决大规模0-1背包问题时效率低的主要原因。2. 备忘录方法通过存储已经计算过的子问题的解来避免重复计算,从而提高了效率。但是,由于备忘录需要存储所有子问题的解,当物品数量n或者背包容量W非常大时,备忘录方法仍然可能非常慢。3. 动态规划方法通过只存储需要的子问题的解来避免重复计算,从而提高了效率。动态规划的时间复杂度与备忘录相同,但是动态规划不需要存储所有的子问题的解,因此在处理大规模问题时通常更有效。

2024-01-20 13:31:35 1211

原创 算法设计与分析基础实验报告(五)

递归、备忘录和动态规划都有各自的优缺点。在选择使用哪种策略时,我们需要根据具体的问题和场景进行权衡。如果对算法的理解和实现较为简单,且对时间复杂度要求不高,可以选择递归;如果对算法效率和空间要求较高,且问题可以分解为子问题求解,可以选择动态规划;如果需要避免重复计算,且不需要额外的空间来存储子问题的解,可以选择备忘录。

2024-01-09 20:52:30 490

原创 算法实验与分析报告(四)

快速排序和归并排序的时间效率在理论上是相同的,都是O(n log n)。而直接插入排序的时间效率在理论上是较低的,平均为O(n^2)。但在实际应用中,由于直接插入排序算法实现简单,对于小规模的数据排序效率较高,因此在某些情况下可能会比快速排序和归并排序更实用。

2024-01-08 15:13:42 605 1

原创 算法设计与分析基础实验报告(三)

尽管迭代和递归的实现时间复杂度相同,但迭代实现的效率通常比递归实现更高。

2024-01-07 15:59:14 702 1

原创 算法设计与分析基础实验报告二

当数据量较小时,直接插入排序的效率较高;当数据量较大时,归并排序的效率较高。

2024-01-06 20:30:44 1101 1

原创 算法设计与分析基础实验报告(一)

递归算法:递归算法的时间复杂度为O(2^n),因为它需要递归计算前n-1项斐波那契数,每次递归需要计算两次斐波那契数,所以总共需要计算2^(n-1)次。空间复杂度为O(n),因为递归调用会占用栈空间,栈的深度为n。随着n的增加,递归算法的执行时间呈指数级增长,而迭代算法的执行时间呈线性增长。2.迭代算法:迭代算法的时间复杂度为O(n),因为它只需要循环n次来计算斐波那契数列的前n项,每次循环只需要进行一次加法运算。因此,当n较大时,递归算法的时间效率会远远低于迭代算法,同时递归算法还会占用更多的内存空间。

2024-01-05 20:24:30 453

原创 leetcode(402,44 53)

给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持和'*''*'判定匹配成功的充要条件是:字符模式必须能够输入字符串(而不是部分匹配)。false"a" 无法匹配 "aa" 整个字符串。true'*' 可以匹配任意字符串。a"false' 可以匹配 'c', 但第二个 'a' 无法匹配 'b'。p'*'

2024-01-03 10:52:10 594

原创 算法设计与分析基础课程设计

因此,大家商量解决办法,有人提出:修筑一圈篱笆,把果园围起来,但是由于我们的经费有限,必须尽量节省资金,所以,我们要找出一种最合理的方案。在求解凸包的问题中,分治法是一种常用的解法。在求解凸包的过程中,对于每个点,算法根据其与凸包上两个端点的位置关系,判断其是否应该被加入到凸包中。对于每个新加入的点P,如果它在当前凸包的右侧,就将凸包的末尾点不断弹出,直到该点在凸包的左侧,然后再将该点加入到凸包的末尾。回溯等),选用这些设计方法的原因,给出该算法的伪代码,分析该算法的时间复杂度,给出算法实际运行的结果。

2024-01-02 19:18:54 1654

原创 c语言数据结构课程设计

c语言数据结构课程设计

2023-12-30 17:51:38 1588 2

空空如也

空空如也

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

TA关注的人

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