第二章作业

1、从数组中随便选取一个数字作为基准,然后对该区间进行划分,左边的数字是小于该基准的,右边的数字大于该基准,然后统计左边个数是否为k,如果大于k,则在该基准的左边开始递归上述办法进行查找,反之则在右边
2、最好的时间复杂度的话是O(N),即每次都是均匀划分,或者是说直接选到了第k小的数字,然后直接返回,一次划分复杂度为O(N),然后最坏的话就是每次都是选当前区间中最小值或者最大值,每次只能排除掉一个数字,因此要排n次最多,也就是O(N^2)的时间复杂度
3、分治分治也就是把大问题拆成相同要求的小问题,然后更好的去解决每一个小问题,然后一层一层的网上走,最终实现对整个问题的解决

posted @ 2026-10-11 17:18  Ken__1009  阅读(7)  评论(0)    收藏  举报