第二章作业

1.先在当前数组区间选取基准值P,调用划分函数,把区间分成两部分:左边所有元素≤pivot,右边所有元素≥P.基准落到最终正确位置.计算左区间元素数量len = pos-left+1;如果`len == k,基准就是第k小元素,直接返回.当len>k,第k小在左半边,递归处理左区间,k不变.如果len<k,左半边就全部都比目标小,去右半边找第k-len小.不断递归直到找到目标元素。

2.最好时间复杂度:O (n),最坏时间复杂度:O (n²).

3.分治法适合问题能够分解为独立子问题,子问题的解可以组合成原问题解.若子问题存在大量重复计算,分治会低效,此时更适合动态规划.

posted @ 2026-10-13 23:21  SayneW  阅读(3)  评论(0)    收藏  举报