第二章上机实践报告
作者:互联网
1
找第k小的数
2
输入两个整数n和k,再输入n个整数,从n个整数中找到第k小的数并输出
3
该题主要有三个方法find(),partition(),swap()(交换就不赘述了)
find()主要是用于找划分点,再判断是不是第k小的数,不是就递归在左端,右端查找(决定是找左端还是右端。由判断当前的划分点是大于还是小于k决定)
Partition()功能为将输入的n个数使其比基准数x小的都在其左边,大的都在其右边,进行排列。
4
时间复杂度:O(n)
空间复杂度:O(logn)
5
分治法真不错!
标签:上机,复杂度,实践,整数,右端,第二章,find,输入,左端 来源: https://www.cnblogs.com/qw23/p/13764645.html