5个任意数据排序,最多需要比较7次,可以吗
【历史帖】http://bbs.csdn.net/topics/40399878,还是没人能讲明白到底具体怎么比较的。
对于n个随机数据排序,至少需要多少次(t)比较?
n = 1 --> t = 0 //一个数据就不需要比较
n = 2 --> t = 1 //两个数据比较一次就知道大小了
n = 3 --> t = 3 //三个数据比较三次,没问题吧
n = 4 --> 我的结果是t=5, 这个有问题吗????
n = 5 --> 我只能得到t=8, 请问7次是怎么来的?
【我用递推和二分法得到的比较次数公式为T(n) = T(n-1) + 取底[log(2)(n-1)] + 1。】
【网上说至少是log(2)(n!)取顶,但好像只是下限,并不是就可以;这个可以先撇开,但具体到5个数据排序,就怎么比较7次就可以呢】
附:log(2)(5!) = 6.9
可以用A~E五个随机数据说明。 最好不要只给出链接,最好能先自己想明白,然后讲明白啦,先谢谢。