设计一个分治算法,在一个具有n个数的数组中找出第二大的元素,并分析算法的时间效率。用程序实现你编写

赵黔宁 2019-12-21 23:46:00

推荐回答

实质就是递归,思想是分治max1=Maxa,low,mid;max2=Maxa,mid+1,high;以上把代码就是把数组分成两部分,然后这两部分中再往下分,直至iflow==high时返回下标,然后在每一层进行比较max=a?max1:max2;把最大值的下标赋给max。最后返回。
齐智勇2019-12-21 23:54:03

提示您:回答为网友贡献,仅供参考。

其他回答

  • 定义max2能返回最大的2个数,那么max21..n=max2max21..n/2,max2n/2..n最后得到的2个数,较小的是所求。
    黄益江2019-12-22 00:05:34

相关问答