关于求众数的问题
答案:6 悬赏:30
解决时间 2021-02-14 03:12
- 提问者网友:回憶丶初
- 2021-02-13 08:01
关于求众数的问题
最佳答案
- 二级知识专家网友:寂寞的炫耀
- 2021-02-13 09:09
您好,所谓众数就是一组数中出现频率最多的那个数,例如一组数2,3,3,3,5,6,那么这组数的众数就是3.
全部回答
- 1楼网友:山鬼偶尔也合群
- 2021-02-13 12:44
答:你不要把问题想的多么复杂,其实这个问题挺简单的,按照初中数学课本的理解就可以。所谓众数就是一组数据中出现频率最多的数。众数不一定是一个,可能是多个。例如一组数据1 ,2,3,4,5,6,7,8 ,9。这组数据出现的频数都是1,是最多的,所以这组数据的众数是1 ,2,3,4,5,6,7,8 ,9.再如一组数据,1,1,2,3,4,5,6,7,8 ,9。1出现了2次,次数最多,所以众数是1
我的回答你还满意吧,望采纳。
- 2楼网友:安稳不如野
- 2021-02-13 11:19
郭敦顒回答:
你提的这个问题很好,好在是一种创新性的思维,惟有创新才能推动事物的发展,推动社会的进步。
数据按先后出现的顺序进行排列,相同的数据有相同的下标,表示为:
a1,a2,a3,a2,a4,a5,a1,a6,a4,a7,a8,a2,a9,a2,…
而数据的大小不是排序的依据:电脑会识别不同和相同的数据,当电脑对一个数据扫描识别后会自动记录这个数据并计数1次,对全部数据逐一进行扫描识别,当扫描识别到相同的数据后,电脑会对该相同数据出现的次数累加1次。如此电脑对全部数据扫描识别记录累加完后就得到了哪个数据出现次数最多为若干次的结果。按照这样的思路可以编程了。
这种电脑类似于图灵机。
- 3楼网友:如果这是命
- 2021-02-13 10:55
就用你的3、5、8、10、5、6、2、8、5、9为例就好了,最快的算法莫过于用Hash Table——
你可以预估你的数组里最大的数字,比如我预估最大不超过10000,那么我就设计10000个空格,空格里面存放数字,初始全为0,且每个空格都有唯一标记1-10000;然后开始顺序读取数组,如果读到数字i,那么就在标记为i的空格里面的数字上加1,于是,你的这串数字就变成计数的空格串——0,1,1,0,3,1,0,2,1,0,0,。。。。,0,0这样10000个空格中的数字最大的就是3,3对应的标记是5,所以出现次数最多的就是5。
用数组可以实现上述算法,int a[10000] = {0,0,..,0},然后开始读取即可。
- 4楼网友:哭不代表软弱
- 2021-02-13 10:19
excel中mode函数可求众数。你的问题我看的不是很明白,要么你再补充下提问,应该不难的。
- 5楼网友:修女的自白
- 2021-02-13 09:56
先排序, 不妨用标准的 “快速排序” 进行排序。
排好序后,就好算了。不妨设 排好序的数字是: a1,...,an
用 B 记众数, b 记众数的出现次数。T当下所查数, t记当下所查数的出现次数:
B=T=a1; b=t=1
for ( i=2, i<= n, i++)
{
if (T=ai)
{
t=t+1;
}
else
{
if ( t >b)
{
B=T; b=t;
}
T=ai, t=1;
}
}
if ( t >b)
{
B=T; b=t;
}
最后的 B 就是众数, b 是众数的出现次数
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯