• 算法第二章作业


    算法第二章作业

    对分治法思想的体会

    分治法的基本思想是将大规模的问题分割成更小规模的子问题,分别求解后将答案合并,逐步求解出原来的问题。
    好像更贴近我们所说的“自顶向下分析,自底向上实现”
    和递归方法的区别在于它没有用到递归,而更多地采用循环解决问题,因此空间上的效率会比较高(不容易产生栈溢出等bug)
    而和动态规划相比,它的特点在于子问题是相互独立的,因此将子问题答案合并能得到原问题答案。(子问题不独立也可以用分治法求解但是会产生许多重复运算,所以此时动态规划更加适合)
    比较典型的例子是快排和二分查找(但是感觉二分法在分治法里用到的也挺多的)

    结对编程情况汇报

    首先结对编程在我看来比较新颖所以还是比较有兴趣的,在这里谈谈个人的见解吧
    当结对的两个人水平差距明显的时候,其优点是比较突出的。首先分工上比较明确,学习掌握比较好的人敲代码,而另一个人在一旁看着其代码思路,并在最后对代码进行讲解。不仅可以让另一个人学习比自己水平高的人的代码思路、习惯,还可以从实例的角度巩固相关知识。
    而对于敲代码的人,在敲代码的同时对另一个人阐述自己的代码作用,能在编写过程中使思路更清晰,减少出错、卡题的情况。(我就经常开个小差然后从头理思路....)能把自己的代码给别人讲懂,那么自己对于代码的理解肯定是更上一层的。
    我有时候会卡住或者没有写出高效的代码,我的partner也会和我交流,给我提供新的思路,或者问我“这里为什么不能xxx这样写呢?”,然后很多时候我会发现这种方法确实比我的好哈哈哈哈。
    至于缺点,主要是,讲解代码的人缺少了敲代码的机会,毕竟这需要很强的自主性。没有实例代码练手,知识点的记忆始终没有那么深刻,不利于算法的学习掌握吧。

  • 相关阅读:
    winform 单选框, 图像控件,图像列表,状态栏,定时器,绘图
    学习资料链接,csdn博客
    c# 基本控件,窗口程序
    Gmap.net 怎么导入离线地图
    修改MFC主窗口界面标题和图标的方法
    vc6.0缓冲区
    vc6.0编译出错,删除多余的文件,清空重新编译
    Tomcat插件与Jetty插件在MyEclipse中的配置
    div里面的内容超出自身高度时,显示省略号
    aptana studio 3 自动换行(无需插件)
  • 原文地址:https://www.cnblogs.com/luoyang0515/p/11668703.html
Copyright © 2020-2023  润新知