logo资料库

计算机算法设计与分析2-15.doc

第1页 / 共1页
资料共1页,全文预览结束
2-15 给定数组 a[0:n-1]试设计一个算法,在最坏情况下用[3n/2 -2 ] 次比较找出 a[0:n-1]中元 素的最大值和最小值; 2-15 参考答案:首先对数组相邻的两个进行比较,将大的放在后面,小的放在前面,然后 在两个数中小的所有数选出最小,同时也在两个数中大的所有数选出最大的。这样我们可以 得出总的比较次数:(int)(n/2)+2*((int)(n/2)-1). 这里由于考虑 n 的取值,比较次数要少于等于 n+cell(logn)-2,当 n 为 2 的幂方时,取 等号。(cell 这里表示取上界)
分享到:
收藏