- 博客(4)
- 收藏
- 关注
原创 第一章算法概论心得体会
此外,数学的严谨性和精确性与计算机科学的需求高度契合。通过学习数学,我将培养严谨的思维方式和精确的计算能力,使我在编程中更加细致、准确地处理数据和逻辑。《数学之美》展示了数学在互联网搜索算法、图像处理、机器学习等领域的应用。这些案例将帮助我认识到数学与计算机科学的紧密联系,并为我提供创新和解决复杂问题的思路。通过掌握数学的概念和方法,我将能更好地理解计算机科学中的算法、数据结构、编程语言等内容,并能在问题解决中运用数学思维。作为一个计算机专业的大学生,阅读《数学之美》给我带来了很多启发。
2024-01-09 11:37:09 422
原创 算法设计与分析第五章
另外,在搜索过程中,可以根据已经选择的部件和供应商,估计剩余部件的最小重量,从而进行更有效的剪枝。其核心思想是通过尝试所有可能的解,并在搜索过程中进行剪枝,以找到满足特定条件的解。解空间:有n个部件,m个部件供应商,因此解空间可以表示为一个n维数组,数组中的每个元素表示对应部件选择的供应商编号。解空间树:该树是一个多叉树,树的深度为部件的数量n,每一层代表一个部件,每个结点代表选择该部件的不同供应商。确定问题的解空间:将问题抽象成一个决策树或状态空间图,其中每个节点代表一个状态,边表示状态之间的转移。
2023-12-10 22:51:03 534
原创 算法设计与分析第三章作业
它的基本思想是:将原问题分解为若干个子问题,先求解子问题的最优解,然后由子问题的最优解推导出原问题的最优解。因此,该算法的时间复杂度为O(N^3),空间复杂度为O(N^2)。dp[i][j] = min(dp[i][k] + dp[k+1][j] + sum[i][j]),其中i <= k < j。1)状态表示: 设dp[i][j]表示将第i堆石子到第j堆石子合并成一堆的最小代价。(3)边界条件: 当i=j时,只有一堆石子,不需要合并,代价为0。其中,sum[i][j]表示第i堆石子到第j堆石子的总质量。
2023-11-05 15:15:40 39
原创 算法设计与分析第二章作业
算法的时间复杂度: 该算法的时间复杂度为O(nlogn),其中n是输入数组的长度。在分治算法中,每次递归将问题的规模减半,因此总共需要进行logn次划分。而在每次划分中,需要线性时间O(n)来计算跨越中点的最大字段和。对于分治法的体会和思考: 分治法是一种非常重要的算法设计思想,它通过将一个大问题划分为若干个相同或类似的小问题,并且在每个小问题上递归地求解,然后将小问题的解合并起来得到原问题的解。分治法的优点在于能够将问题规模减小,从而降低了解决问题的复杂度。结合本章的学习,你对分治法的体会和思考。
2023-11-05 15:07:34 197 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人