二分法思想可以用于查找和排序
用于查找时要求所查找的数组有序,其基本思想是将元素大致分为两半,取中间元素与目标数据进行比较,若目标数据大于中间元素则和此数组的后半段进行比较,反之则与数组的前半段进行比较,可以看出每进行一次比较,待比较数据减少一半,其最坏时间复杂度为O(log n)
例:从{5,15,28,33,39,40,58,67,70,88}查找28
用于排序时用折半查找法查找当前已经排好序的序列中的插入位置
折半插入排序 R[low...high]
1、设待排记录为R[low...high] ,R[low]是一个有序序列;
2、循环high-low次,每次使用折半查找法,查找R[i]在已经排好序R[low..i-1]中的插入位置,然后将R[i]插入R[low..i-1]的相应位置,直到将R[high-low+1]插入表长为high-low的有序序列,最后得到表长为high-low+1的有序序列。
其时间复杂度为O(n2)
结对编程情况汇报:和同伴一起做第二章实践题,相互间找出代码中考虑不足之处,这些错误平常自己练习时很少遇到或根本没有想到,通过这种方式加深对一些错误的记忆,提高了学习效率。
原文:https://www.cnblogs.com/Li-Peiting/p/9785775.html