算法第二章实践作业
1.,找第 k 小的数的分治算法描述:
选择基准:从数组中任选一个元素作为基准(如中间元素)。
分区操作:将数组分为三部分 —— 小于基准的元素、等于基准的元素、大于基准的元素。
判断与递归:
若小于基准的元素个数 ≥k,递归在左分区找第 k 小;
若小于基准的元素个数 + 等于基准的元素个数 ≥k,基准即为第 k 小;
否则递归在右分区找第 k -(左区个数 + 中区个数)小。
2,时间复杂度:
最好时间复杂度:O(n)
最坏时间复杂度:O(n²)
3,对分治法的体会与思考:
分治法核心是 “分而治之”,将复杂问题拆解为多个同类子问题,解决子问题后合并结果。其优势在于通过拆分降低问题规模,提升效率。但依赖合理拆分方式,若拆分不均(如最坏情况),效率会大幅下降。实际应用中,需结合问题特性选择拆分策略,平衡拆分与合并成本,才能最大化发挥分治法的优势。

浙公网安备 33010602011771号