-
第五章作业
对回溯法的理解:回溯法从根节点开始,以深度优先的方式进行搜索。当到一个结点时要判断该结点是否包含问题的解,不包含则跳过以该结点为根的子树的搜索,逐层向其祖先结点进行回溯;否则,进入该子树,继续按深度优先策略进行搜索。用回溯法求问题的解时,要回溯至根,且根结点的所有子树均被搜索遍才会结束。回溯法适用于 -
第三章实践
这次的实践题目印象比较深刻的就是最大子段和问题以及数字三角形求最大和路径的得数。 我做的题目是数字三角形,队友做的是最大子段和。 因为在学递归,所以用的是递归的思想来完成这两道题目。 1,数字三角形 数字三角形其实就是求出后一行的数与其上一行的数依次的和,并存为新的一行,一行一行依次往上归并,最后输 -
算法第四章实践报告
一,实践题目 7-1 最优合并问题 二,问题描述 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较, -
第四章算法实践
1.实践题目 7-1 最优合并问题 (100 分) 题目来源:王晓东《算法设计与分析》 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使 -
第三章作业
一、对动态规划算法的理解: 将待解问题分解成若干个有关联的子问题,先求解出最小的子问题,在求解出临近的规模比它大的问题,直至到待解问题。该算法可以保存已解决的子问题的答案,在需要时再找出已解决的子问题的答案,避免大量重复计算,减少时间复杂度。我认为运用这个算法的关键点在于找出找出问题的递归过程并列出 -
第三章实践报告
5.时间复杂度和空间复杂度:用了二分法搜索算法,寻找x的时间复杂度为O(logn);空间复杂度为数组空间大小,是一个常数,与变量n的取值无关。所以空间复杂度为O(1) 6.心得体会 这道题目其实在掌握了书上的二分搜索算法后就变得很简单 5.时间复杂度和空间复杂度:用了二分法搜索算法,寻找x的时间复杂 -
第四章实践报告
1.实践题目 7-1 最优合并问题 (100 分) 题目来源:王晓东《算法设计与分析》 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使 -
贪心算法的理解及例题分析
1、什么是贪心算法 贪心算法采用自顶向下,以迭代的方法做出相继的贪心选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题,通过每一步贪心选择,可得到问题的一个最优解,虽然每一步上都要保证能获得局部最优解,但由此产生的全局解有时不一定是最优的。 贪心算法总是做出在当前看来最好的选择。也就是贪心 -
算法第四章实践报告
实践题目:程序存储问题 问题描述:设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储 -
第四章作业
1.对贪心算法的理解: 贪心算法的概念:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法的基本要素:a.贪心选择性质(问题的整体最优解可以通过一系列局部最优解来达到)b.最优子结构性质(问