
算法设计与分析
麻瓜正在学习mofa
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
众数问题(递归分治)
众数问题(递归分治) 问题描述: 给定含有n个元素的多重集合s,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如, S-(1, 2, 2, 2, 3, 3, 5).多重集S的众数是2,其重数为3,对于给定的由n个自然数组成的多重集s,计算S的众数及其重数。如果出现多个众数,请输出最小的那个。 输入数据的第1行是多重集S中元素个数n (n<1 300000) ;...原创 2020-03-19 19:07:15 · 12832 阅读 · 3 评论 -
集合划分问题
集合划分问题 给定正整数n和m,计算出n个元素的集合{1,2…n}可以划分为多少个不同的由m个非空子集组成的集合。 数据输入: 由文件input.txt提供输入数据. 文件的第1行是元素个数n和非空子集数m. 结果输出: 程序运行结束时,将计算出的不同的由m个非空子集组成的集台数输出到文件output.txt中。 输入文件示例 4 3 输出文件示例 6 思路: 对于n个元素的集合,可以...原创 2020-03-13 08:54:09 · 982 阅读 · 0 评论 -
最大间隙问题(鸽笼)
问题描述: 给定n个实数,求n个实数在数轴上相邻两个数之间的最大差值,设计解最大间隙问题的线性时间算法。 算法思想: 方法一:如果先排序,再求最大间隙值。最好的排序方法时间复杂度为O(nlogn),题目要求线性时间,不符合要求。 方法二:鸽笼原理。百度:桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放不少于两个苹果。这一现象就是我们所说的“抽屉原理”。 ...原创 2020-02-28 14:53:35 · 880 阅读 · 0 评论