zoukankan      html  css  js  c++  java
  • 第二章作业与学习总结

    学习分治法的感受:

    首先回忆一下分治法的使用方法和条件:分治法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题要互相独立且与原问题相同。

    分治法虽然有使用条件,但它对解决一些复杂问题的效果是立竿见影的。在学习第二章的过程中,我们遇到了很多有复杂要求的题目,比如说排序、求逆序数等,题目要求虽然很复杂,但通过使用分治法,我们能够将问题分解为许多个相同的小问题,例如通过设置left、right来搜索数组,并不断根据条件改变left与right的值。使用了这种思想后,再运用递归方法,就可以有效地解决在数组中搜索特定值的问题。不过,分治法虽然效果很好,但会拘束于使用条件,同时在使用过程中要分析具体的时间复杂度,不能乱用。

     

    结对编程情况汇报:

    第二章作业有5道题目,每道题目都是有挑战性的,因此单凭我个人能力难以解决这五道题目,因此我多次与搭档共同讨论题目,最终解决了第二章作业的大部分题目。尤其是关于求单峰数组的题目,我自己做的时候倾向用递归的方法,但即使思路正确,编译也没有问题,但因为没有考虑到时间复杂度的问题,导致题目没有做对。通过与编程搭档交流后,我得知这道题目是可以用循环即可,因为题目要求的时间复杂度为O(logN),所以使用二分法配合循环即可有效解决这道题目。有些时候,单人编程受限于个人编程风格和习惯,难以单独发现一些思想上与细节上的问题,但通过两人结对编程,两人的头脑风暴与思维碰撞就能够很好地解决问题,同时交流解题和学习心得。

  • 相关阅读:
    实验 4:Open vSwitch 实验——Mininet 中使用 OVS 命令
    实验 3:Mininet 实验——测量路径的损耗率
    福州大学软件工程实践个人编程作业
    实验 2:Mininet 实验——拓扑的命令脚本生成
    实验 1:Mininet 源码安装和可视化拓扑工具
    2020软件工程实践第一次作业
    魏迟燕的自走棋
    中位数之最
    A Simple Math Problem
    数字的升级准则
  • 原文地址:https://www.cnblogs.com/besthunterhj/p/11646471.html
Copyright © 2011-2022 走看看