这学期学习算法分析与设计课程,今天看了看中位数,总结了总结算法,实现代码一会儿再贴
Description:
从一组输入数据中找出第k小的数,要求在线性时间内作出选择。
Solution:
传统的方法是对这组数据 进行排序(插入冒泡等),然后从排序后的序列中比较找出第k小的数,但是这种方法复杂度是O(nlogn)(采用快速排序)
为了在线性时间内得到结果,又如下方法,假设输入数组为a[]:
方法一: 类似于二分排序
Select(int[] a, int start, int end, int k)
Description:
从一组输入数据中找出第k小的数,要求在线性时间内作出选择。
Solution:
传统的方法是对这组数据 进行排序(插入冒泡等),然后从排序后的序列中比较找出第k小的数,但是这种方法复杂度是O(nlogn)(采用快速排序)
为了在线性时间内得到结果,又如下方法,假设输入数组为a[]:
方法一: 类似于二分排序
Select(int[] a, int start, int end, int k)
