首页 > 试题广场 >

【单选】欲找到100个数字中的最大值和最小值所需要的最少比较

[不定项选择题]
欲找到100个数字中的最大值和最小值,所需要的最少比较次数为?
  • 148
  • 147
  • 146
  • 140
100个数字先两两对比50次 获得大组和小组各50个数字,
针对大组进行两两对比25次 获得新大组25个数字
针对大组继续进行两两对比12次 获得新大组13个数字
以此类推,选出大组最大的数需要 50+25+12+6+3+2+1 = 99次
同理选出小组最小的数额外需要 25+12+6+3+2+1 = 49次
合计 148次
发表于 2020-08-15 03:25:19 回复(0)
题目是找到最少的比较次数:
  • 先把100个数字分为两组50个数字
  • 两组50个数字分别各自内部比较,总共需要49+49=98次
  • 两组最大数再进行比较,得到最大数值,需要1次
  • 再用刚刚两组第二大的数字,随意选取一组进行比较,假设最小的数字刚好在我们选择那一组,那么需要49次
  • 总共位98+1+49=148种
快捷算法:偶数个为3N/2-2,基数个为3N/2
发表于 2020-03-12 17:19:59 回复(3)
1,2个数一组,共50组对比大小,分出大数组(50个数)、小数组(50个数),消耗50次机会 2,大数组每个数依次比较(擂台制),只保留最大数,消耗49次机会 3,小数组每个数依次比较(擂台制),只保留最小数,消耗49次机会 —>共消耗148次机会
发表于 2022-07-17 03:27:21 回复(0)
2个数一组,共50组对比大小,分出大数组(50个数)、小数组(50个数,50次
大数组每个数依次比较(擂台制),只保留最大数,消耗49次机会 
小数组每个数依次比较,只保留最小数,消耗49次机会
共消耗148次机会
发表于 2022-09-02 16:13:57 回复(0)
按偶数的类似规律,奇数应该为(3N-1)/2-2
发表于 2022-06-12 21:37:18 回复(0)
参考排序算法中的堆排序,最大堆和最小堆
编辑于 2024-04-12 16:00:45 回复(0)
这不是个多选题!?
发表于 2022-09-26 19:41:22 回复(0)