第七单元 分治
一、定义
把一个问题分成两个或多个的相同或相似的子问题,再把子问题继续分成更小的子问题……直到最后子问题可以直接求解,在不断向上合并解。如果每次把一个问题分成两个子问题,就是二分法。
二、常见应用
1.快速排序(见第八单元)。
2.归并排序(见第八单元)。
3.二分查找。
4.寻找第k小的数。
三、二分查找
1.方法:对于一组有序的数据,每次将待查找元素与数据的中间数据比较,根据比较结果选择子数据继续二分查找,知道找到待查找元素。
2. 时间复杂度:一般情况O(n log n)。