第二章作业

1,先在当前数组区间选一个基准值P,调用函数,把区间分成两部分:左边所有元素 ≤ pivot,右边所有元素 ≥ P。基准落到最终正确位置。
在计算左区间元素数量len = K-left+1:
如果len == k:基准就是第 k 小元素,直接返回。
当len > k:第 k 小在左半边,递归处理左区间,k 不变。
如果len < k:左半边全部都比目标小,去右半边找第k-len小。
最后递归直到区间只剩一个元素,就是答案。
2.最好时间复杂度:O(n) 最坏:O(n^2)
3.问题能够分解为独立子问题;子问题的解可以组合成原问题解。如果子问题大量重复计算,分治会低效,这时更适合动态规划。

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