快速排序算法是找一个数,进行大小比较。小的位于左而大的位于右。所以可以通过数在数组的位置来判断比他小的数有多少个。找到k序,所谓分治就是左右判断大小,舍弃左或者右,直接消失一半的排序

最好时间复杂度:每次划分时,基准元素恰好将数组分为大致相等的两部分(类似快速排序的理想情况)。此时递归深度为
O(n)
最坏时间复杂度:每次划分时,基准元素是当前数组的最值(例如始终选第一个元素且数组有序),导致每次仅减少一个元素。此时递归深度为O的n方

对分治法的体会和思考:
核心思想:分治法通过将复杂问题 “分解- 解决- 合并”,将大问题拆解为规模更小的子问题,利用子问题的解构建原问题的解。
关键要素:
分解的合理性:子问题需与原问题结构相似,且规模足够小(最好能均匀拆分),否则可能导致时间复杂度退化(如上述最坏情况)。
合并的高效性:部分问题(如归并排序)需要合并子问题的解,合并步骤的效率直接影响整体性能。
基准选择的重要性:在找第 k 小的数、快速排序等算法中,基准元素的选择对性能影响极大(可通过随机选择基准等优化降低最坏情况概率)。