c语言找出数组中第二大的数 找出N个数组中第二大的数,需要比较多少次?
浏览量:1899
时间:2021-03-17 17:29:43
作者:admin
找出N个数组中第二大的数,需要比较多少次?
比较次数最少的理论从n个数中找出最大的两个数是:n logn-2分析1:类似于竞争推广,配对比较,胜者再次配对,最后得到冠军(最大数),这可以看作是一个二叉树。以4个人为例:0020123,我们可以看到比较的最大次数是n-1。那么第二大的数字必须是与冠军相比的数字,所以很明显,每层有一个,所以有logn-1比较。所以总共是n logn-2比较。分析二:泡泡法找出最大比较数是n-1,然后在前面的每次比较结果中找出第二大数,比较数是logn,需要减去最后一次比较的最大数,即找到第二个数是logn-1,结果是n logn-2。
c语言找出数组中第二大的数 怎么在数组中加入一个数 java找数组中中重复数字个数
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。