-
算法第二章作业
1.分治思想就是把问题划分成几个规模较小的、且与原来相类似的子问题,然后分别解决这些子问题并合并,就可得到原问题的解。步骤大致是:分解-->解决-->合并。其中分治思想适合用递归的方法来实现。 2.结对编程,一般我们是先一起分析如何解题,之后在各自打代码,打代码的过程中,要是遇到困难,我们会相互讨论 -
第二章作业
(1)请谈一下你对分治法思想的体会 分治问题在于,把问题分成几个小问题,然后小问题再分成小问题。注意的是,分解后的问题与原问题保持一致性,即可以用相同的方法来解决。但值得注意, 在使用递归进行分治时,要处理好函数的返回条件,避免死循环。使用分治思想,基本可以把时间复杂度控制在O(nlogn)。 (2 -
算法第二章上机实践报告
(1)实践题目: 最长子列和 (2)题目描述: 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列 { -2, -
算法第二章作业
1.我认为分治法在解决一些特殊问题的时候可以大大减少时间复杂度,比如说在一个大问题可以分解成若干个和大问题性质基本相同的小问题时,就能将时间复杂度大大降低,或者可以通过递归再进行分解将大问题分解成无数个小问题来解决,但是有些时候分解太多反而会增加解决问题时间,所以在使用分治法时要提前考虑好分解问题的 -
算法第二章作业
1.分治思想的体会:当所求问题可以划分为几个小问题,且小问题与大问题相同(都可以调用同一个函数),解决了小问题就可以搞定大问题,可以考虑用分治法。然后要解决的就是横跨左右区间的问题,左右区间可以通过递归完成。使用分治法,可以有效时间复杂度。 2.结对编程情况报告:配合的还不错,可以交流彼此的思路,但 -
算法第二章上机实践报告
1.实践题目名称:7-1 最大子列和问题 2.问题描述 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ - -
C++代码规范
阅读了阿里等几家的代码规范pdf,笔者认为本人的代码规范规范比较类似于腾讯的C++代码规范。 以下是笔者的随记代码: #include<iostream> using namespace std; int main(){ int m,n,temp; int a=1,b=0; cin>>m>>n; f -
算法第一章作业
1,本学期我将遵循以下编码规范https://wap.sogou.com/web/id=495b5c37-c03f-4a0e-8d92-e7b20e7221e3/keyword=%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83c%2B%2B/sec=8C3hUpVzLUj3b -
第一次作业
恢复内容开始 1.我将遵循Android 开发编程规范(https://blog.csdn.net/qq_16318981/article/details/53434029) 2.《数学之美》让我们见识到谷歌技术的高明,以此带入一个全新的看待数学的世界,软件开发归于本终也是数学问题。书中所展示的用数 -
算法第一章作业
请上网了解编码规范,说明你本学期的编码遵循哪个规范及该规范的链接。 答:本学期遵循谷歌公司的编码规范 链接:https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/ 请阅读《数学之美》,结合网上其他文章,