分治算法举例与心得

找第k小数的分治算法:

选基准,将数组划分为小于等于基准和大于基准的两部分,基准位置为m

若m=k,返回基准

若m>k,在左部分递归找第k小数

若m<k,在右部分递归找第k-m小数

时间复杂度:
最好情况:每次划分均衡,T(n)=T(n/2)+O(n),O(n)
最坏情况:每次划分极端不均,T(n)=T(n-1)+O(n),O(n²)

分治法体会:
分治法将大问题分解为相似小问题,解决后合并结果。在此算法中通过划分将问题规模缩小。优点是能降低问题复杂度,特别是划分均匀时效率高。缺点是若划分不均可能导致效率下降,因此划分策略很重要。这种分解思想也可应用于其他问题求解。

posted @ 2025-10-22 22:56  黄熙雯  阅读(2)  评论(0)    收藏  举报