计算机算法基础教学课件ppt作者沈孝钧第5章-PPT-N2课件.pptxVIP

  • 29
  • 0
  • 约3.7千字
  • 约 15页
  • 2017-03-07 发布于未知
  • 举报

计算机算法基础教学课件ppt作者沈孝钧第5章-PPT-N2课件.pptx

计算机算法基础教学课件ppt作者沈孝钧第5章-PPT-N2课件.pptx

第 5 章 中位数和任一顺序数的选择5.1 问题定义n个数的集合或序列中,最小的数称为第一顺序数,第2小的数称为第2顺序数,…,第i 个小的数称为第i 顺序数,…,第n个小的数(即最大的数)称为第n顺序数。中间位置的数,即第 顺序数称为中位数问题:设计找第 i 个顺序数的O(n)算法。5-15.2 最大和最小数的选择算法 找最大顺序数(或最小顺序数)是个极简单和容易的问题。Maximum (A[1..n])max ← A[1] for i ← 2 to n if max A[i] then max ← A[i] endifendforEnd 找最小数可类似写出。这个算法需要n-1次比较。 有趣问题是,能否用少於n-1次比较来找到最大数呢?5-2定理5.1 任何用比较的方法在n个不等的数字中找出最大(或最小)顺序数的算法至少需要n-1次比较。证明:我们把一次比较中较大的数称为胜者,而另一个为败者。那么,数X是最大顺序数的充要条件是:它必须和某些其他的数比较过,并且在每次比较中都是胜者。其他的n-1个数都必须参加过比较并且至少有一次是败者。 如果每次比较后都在败者上打上一个印记的话,除了最大数以外的每个数都必须被打上至少一次印记。总的印记数显然至少是n-1。因为每一次比较只打一个印记,所以找出最大数需要的比较次数至少是n-1。? 用类似的方法可证明,找出最小顺序数也至少需要n-

文档评论(0)

1亿VIP精品文档

相关文档