算法导论 9.3-7 设计一个O(n)时间的算法,对于一个给定的包含n个互异元素的集合S和一个正整数k≤n,该算法能够确定S中最接近中位数的k个元素。
为了解决这道题,我们选用了c++中的vector作为数据结构,因为vector的增加,删除操作较为简单。
要解决该问题我们需要几个相关函数作为支持。
vector<int> find_k_near_mid(vector<int>& list, int k)
//主要的求解函数,返回值为一个vector数组。
int select(vector<int> list,int tt)
//求解输入的list中的有序时的第tt个数(从0开始计算)的值
sort(
原创
2021-11-01 10:00:00 ·
799 阅读 ·
0 评论