算法设计与分析实验报告20162017学年第二学期老师: 姓名: 学号: 班级: 用分治法求解众数问题 给定含有n个元素的多重集合S,每个元 素在S中出现的次数称为该元素的重数。 多重集S中重数最大的元素称为众数。 例如,S=1,2,2,2,3,5。多重集S的众数 是2,其重数为3。 对于给定的n个自然数组成的多重集S, 计算S的众数及其重数 。问题分析:利用中位数将集合分成左右两部分,比较左右两侧数字个数与中位数个数的大小,在数字个数多的一侧递归,直到中位数的个数大于左右两侧数字的个数。程序代码:#include algorithm#include #include using namespace std;void split(int s,int n,int &l,int &r) int mid = n/2;
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。