代码改变世界

第二章作业

2018-10-11 01:10  WallWallWall  阅读(113)  评论(0编辑  收藏  举报

对于二分法的思想体会:

二分法本身思想并不难以理解,但在代入不同用法的时候需要特别注意实际情况的要求,例如:二分合并法,二分思想展开的快速排序法等。

也是因为算法本身运用了分治策略,所以快速排序在进行功能的时候,重复的设置、对比数组的middle值来很大程度的降低了算法的运行时间,这也是为什么快速排序在相较其他排序法会更快。在最差的情况下,运用快速排序的时间复杂度和冒泡排序一样,但平均时间复杂度确实O(NlogN),这就体现了二分法的优势所在。

在平时的作业练习中,对二分法的理解可以充分的展现在代码习惯之上,很大程度的提升了设计代码内容时对代码的“效率”进行优化。

 

编程情况:

因为是第一次以结对编程的形式去完成作业,所以并没有很好的进行思想交流,几乎各干各的。

第二章的两道编程题,第一题的编程过程中并没有遇上太多的问题,第二题想出了“对输入数组中较小的数进行左移并统计移动次数作为逆序对数目”的方法,但是子啊实际的代码编写的过程中,对一些条件的if不能很好的运用,导致BUG频出。