代码改变世界

随笔档案-2018年10月

算法第三章作业

2018-10-28 12:43 by water_chen, 432 阅读, 收藏,
摘要: 1、对动态规划算法的理解 动态规划算法和分治法的思想是类似的,将待求解问题分解成若干个子问题。但是经分解得到的子问题往往不是互相独立的。不同子问题的数目常常只有多项式量级。在用分治法求解时,有些子问题被重复计算了许多次。如果能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,就可以避免大量重 阅读全文

第二次结对编程作业

2018-10-21 21:20 by water_chen, 213 阅读, 收藏,
摘要: 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​为第1个数)。 输入格式: 输入分三行。第一行给出序列的公共长度N(0≤100000),随后每行输 阅读全文

二分法思考及结对编程概况

2018-10-13 10:49 by water_chen, 163 阅读, 收藏,
摘要: 对于二分法,或者称之为折半,是之前有了解过的一种查找算法,相比顺序查找无疑时间复杂度降低,而且算法上有可递归和无递归的方法可选,原理和算法构建也相对简单。 对于结对编程,我和我的队友可以一起思考一起讨论,虽然是同时思考,但结果的不同会让我们产生歧义,就是因为歧义让我们了解到了各自的不足,然后能够及时 阅读全文

结对编程的好处

2018-10-12 19:40 by water_chen, 427 阅读, 收藏,
摘要: 说起结对编程,无非就是两个人或者一个小组共同解决某些编程问题。这样其实比一个人刷题会好很多。首先,你和你的队友会一起思考,一起进步,但由于想法差异会揪出你们之间存在的问题,这是一个人编程比较难以实现的。其次,结对编程可以营造较好的学习气氛,使得双方自觉学习,互相进步,相比一个人的进步速度会快很多。 阅读全文