-
算法第二章上机实验报告
1、实践题目名称 7-1 最大子列和问题 2、问题描述 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给 -
算法第二章上机实践报告
#include<iostream> using namespace std; int maxsum(int a[],int l,int r) { int sum=0; if(l==r) { sum=a[l]>0?a[l]:0;//如果只有一个数,小于零就置为零,反之则输出它本身 } else{ i -
7-1 最大子列和问题 | 采用二分法+递归
实践题目名称 7-1 最大子列和问题 (20分) 问题描述 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -
第二章作业
1.分治法体会: 个人感觉类似于数学归纳法,找到解决本问题的求解方程公式,然后根据方程公式设计递归程序,用分治算法主定理可得时间复杂度为O(nlogn),相同元素的顺序不会颠倒,是稳定排序。 2、结对编程情况汇报 通过一周结对编程学习,有个小伙伴一起共同学习,不会时可以一起讨论。解题的感觉还是很不错 -
第二章作业回顾总结
1、对分治思想的看法 分治思想其实就是将一个规模大的问题,分解成一个个规模较小的,与原文题相同但是又独立的子问题。通过递归调用,解决子问题,再合并子问题,最终解决原问题的解题思想。这种解题思想在日常中其实挺常见的,我们会把大问题化解成小问题,通过解决一个个小问题来解决大问题。这种思想运用到代码中,能 -
算法第二章上机实践报告
1、实践题目名称 最大子列和问题 2、问题描述 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -
算法第二章上机实践报告
1.实践题目名称:7-1 最大子列和问题 2.问题描述 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ - -
第二章作业
请谈一下你对分治法思想的体会 分治法思想将大规模的问题切分为小问题并逐一解决,大概步骤可以分为分--将问题分解为规模更小的子问题——治--将这些规模更小的子问题逐一解决——合--将已解决的子问题合并,最终得出原问题的解; 分治法结合递归思想可以“自动地”将问题切割成原子模块,而不需通过给定的问题规模 -
算法第二章上机实践报告
实践题目名称:派 问题描述:给定两个整数n和f,分别代表派的数量,f+1表示需要分得派的人数。随后给出每个派的体积,要求每人分得的派体积相同,且分得的派只能来自一个派,求每人所能分得的最大派的体积。 算法描述:我们可以得知分得的派体积在(0,最大派体积]之间,因此,我们可以采用二分法一步步找到最优的 -
算法第二章上机实践报告
1.实践题目名称:7-1 最大子列和问题 (20分) 2.问题描述: 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如