分治策略:众数和重数

问题描述

给定含有n个元素的多重集合S,每个元素在S中的次数称为该元素的重数。多重集S中重数最大的元素称为众数。

例如,S={1,2,2,2,3,5}。众数为2,其重数为3。
任务:对于给定的由n个自然数组成的多重数集S,编程计算S的众数及其重数。

问题分析

将第一个数作为轴值,对序列进行分割,得到两个子序列(不包括轴值),并统计出现次数cout
如果cout大于分割得到的两个子序列的长度,则该值即为众数;
如果左序列的长度大于count,则众数可能出现在左子序列中;
如果右序列的长度大于count,则众数可能出现在右子序列中;

代码

#include <iostream>
using namespace std;
struct mdata{int data;int count;
};void msort(int a[], int s, int e, mdata &result){ int left,right,middle,count=1;left=s;right=e;middle=(s+e)/2;   int temp=a[left];while(left<right){while(a[right]>=temp){if(a[right]==temp)   count++;right--;}if(left<right)    a[left]=a[right];while(a[left]<temp){if(a[left]==temp)    count++;left++;}if(left<right)   a[left]=a[right];}a[right]=temp;if(count>result.count){result.count=count;    result.data=temp;  }if(right-s>result.count)    msort(a,s,right-1, result);if(e-right>result.count)  msort(a,right+1,e,result);return ;
}int main()
{mdata result={0,0};int a[10]={2,1,3,2,5,2,3,3,3,3};msort(a,0,9,result);cout<<result.data<<"  "<<result.count<<endl;return 0;
}

算法设计与分析之众数和重数相关推荐

  1. 【算法设计与分析】经典常考三十三道例题AC代码

    ❥小虾目前大三,我校在大一下开设<数据结构>这门课,大二上开了<算法设计与分析>这门课,很庆幸这两门课的上机考试总成绩一门100,一门99,最后总分也都90+.下文会给出机试的 ...

  2. 算法设计与分析课后总结

    算法设计与分析课后总结 算法设计与分析 第1章 算法设计基础 课后习题 第二章算法分析基础 课后习题 1.考虑下面算法,回答下列问题,算法完成什么功能?算法的基本语句时什么?基本语句执行了多少次? 2 ...

  3. 算法设计与分析课程的时间空间复杂度

    算法设计与分析课程的时间空间复杂度: 总结 算法 时间复杂度 空间复杂度 说明 Hanoi $ O(2^n) $ $ O(n) $ 递归使用 会场安排问题 \(O(nlogn)\) \(O(n)\) ...

  4. 哈工大威海算法设计与分析_计算机算法设计与分析第一章 算法概述

    晓强Deep Learning的读书分享会,先从这里开始,从大学开始.大家好,我是晓强,计算机科学与技术专业研究生在读.我会不定时的更新我的文章,内容可能包括深度学习入门知识,具体包括CV,NLP方向 ...

  5. PHP第五周答案,算法设计与分析第五周作业——Word Ladder

    算法设计与分析第五周作业--Word Ladder 上周找了一道深度搜索优先搜索的算法题来做,于是这周就选了一道广度优先搜索算法题来试试手. 本周所选题目:原题目链接 题目详情 题目大意:给出一个字符 ...

  6. 太原理工大学linux与python编程r实验报告_太原理工大学算法设计与分析实验报告...

    <太原理工大学算法设计与分析实验报告>由会员分享,可在线阅读,更多相关<太原理工大学算法设计与分析实验报告(12页珍藏版)>请在人人文库网上搜索. 1.本科实验报告课程名称: ...

  7. 算法设计与分析——算法思想总结

    算法设计与分析 1.分治法 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同.递归的解这些子问题,然后将各子问题的解合并得到原问题的解. 分治法所能解 ...

  8. 算法设计与分析——递归与分治策略——全排列

    算法设计与分析--递归与分治策略--全排列 全排列问题的解决是通过分治与递归思想来解决的 首先判断是否递归到了最后一位,如果递归到了最后一位,则输出他当前的全排列序列. 如果没有到达最后一位,则循环的 ...

  9. 计算机算法设计与分析考试题,《计算机算法设计与分析》习题及答案

    <计算机算法设计与分析>习题及答案 一.选择题 1.二分搜索算法是利用( A )实现的算法. A.分治策略 B.动态规划法 C.贪心法 D.回溯法 2.下列不是动态规划算法基本步骤的是( ...

最新文章

  1. 雷军做程序员时写的博客,太牛了!
  2. java script简介
  3. 医用计算机基础学习心得,计算机基础学习心得.doc
  4. mysql日常问题记录
  5. IBM携手三菱东京日联银行 将区块链用于合同管理
  6. 《Python》 字典
  7. php超小免杀大马_PHP免杀大马的奇淫技巧
  8. 集成运算放大器对输入级的要求
  9. 搭建 IPv6 Web服务器
  10. CSS 分析倒三角|侧三角|正三角的实现
  11. 22个免费的UI界面设计工具、资源及网站
  12. 计算机音乐创作心得,理结与悠的作曲入门讲座(心得篇 3-4)
  13. SQL Server阻塞与锁
  14. Github连接不上怎么办?
  15. 首家共享充电宝倒闭了,王思聪要赌赢了吗?
  16. 脱了裤子放屁之std::string
  17. windows server + documents4j 转excel报错 Could not access target file
  18. SpringBoot集成jsoup多线程爬取美剧天堂全部电影资源
  19. POI解析文档内容(txt,doc,docx,xls,xlsx,ppt,pdf)
  20. java设计日历实验报告_JAVA小日历组件-JAVA2课程设计(报告+程序)【提供下载】...

热门文章

  1. 牛客网练习赛34-b题
  2. 产品经理应该竖立的工作态度(自勉)
  3. Windows XP系统加速、减肥、安全
  4. Helix MP3 解码器在cortex m4应用
  5. 从头开始swift2.1 仿搜材通项目(八) 制定通用的Controller规则
  6. 数据分析师之BI工具对比
  7. 大M法的简单matlab程序
  8. vs2017试用期满后的处理
  9. 江苏实现自然村通宽带 农村宽带网速可达4M
  10. scrimage与maven库