把5个数由小到大排列出来,至少需要几次大小比较?

老ww进城来 1年前 已收到6个回答 举报

没吃过猪肉 幼苗

共回答了15个问题采纳率:86.7% 举报

要5*4*3*2*1=120次 这是高中的排列问题 很简单

1年前

9

cddydl 幼苗

共回答了33个问题 举报

至少4次。直接就是安从小到大的方式排的,只要把相邻的两个全比较了就完事了,全都是前边的小于后边的,不用交换。

1年前

2

洛克-飞狐 幼苗

共回答了53个问题 举报

最多10次,最少6次吧.
数不是很多,枚举一下就行了.
第一个数必然要和剩下的四个都比较一下.
幸运的话,剩下四个数比两次就可以了(比如第一个数刚好是中位数)
不幸的话,就是4次,3,2,1(比如取数的顺序刚好是从小到大或者从大到小)

1年前

2

_wpj_ 幼苗

共回答了15个问题 举报

这是高一关于程序计算的问题,最少当然是四次,就是刚好要排的顺序。最多嘛,你的书都有吧,那什么插空法,冒气泡法我都记不起了。你知道为什么书上只说最多不说最少吗?那是因为计算机要为解决这类问题配给运算资源,那就要考虑最多运算的情况,以兼容所有同类问题的解决………………………@%&*?¥#?~...

1年前

2

jy39401 幼苗

共回答了1个问题 举报

运气好的只要4次

1年前

1

工学院cc 幼苗

共回答了45个问题 举报

至少要log2(5!)=6.9=7
这是最下限,但不一定是7,具体情况具体分析4次是不可能的。

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 21 q. 0.227 s. - webmaster@yulucn.com