代码改变世界

第二章作业

2018-10-13 14:50  linzexuan  阅读(154)  评论(0编辑  收藏  举报

第二章作业

1.二分思想的体验

二分法思想通过利用有序数据的特点,一定程度上降低了算法的平均时间复杂度O(log(n))。

以二分搜索算法为例:

基本思想:将有序的元素数组a[n]分成个数大致相同的两组:

a[n/2]与目标元素x进行比较:

a)     若x=a[n/2],则找到x且算法终止;

b)     若x<a[n/2](x>a[n/2]),则只需要在数组a的左半部(右半部)继续搜索x。

通过二分法,整个算法搜索的大小减小一半,提高了算法的效率。

2.结对编程的汇报

在结对编程中,通过和小伙伴讨论解决问题的方法,认识到自己算法的不足,在改进中提升自己的算法编程能力。

结对编程有助于我们找到更佳的解决问题的算法。