2022年42题:查找一维数组中小10个数高效算法.pdfVIP

  • 0
  • 0
  • 约1.3千字
  • 约 2页
  • 2026-07-12 发布于北京
  • 举报

2022年42题:查找一维数组中小10个数高效算法.pdf

本小节内容

2022年42题题目解析

42.(10分)

现有n(n100000)个数保存在一维数组M中,需要查找M中最小的10个数,请回

答下列问题。

⑴设计一个完成上述查找任务的算法,要求平均情况下的比较次数尽可能少,简单描述

其算法思想,不需要程序实现。

⑵说明你所设计的算法平均情况下的时间复杂度和空间复杂度。

解析:

这道题非常有代表性,我们3种解题思路,从而对我们前面学习的排序算法能有更深

的理解。

方法一:最小值(选择排序思想)

(1)算法思想(高教社)

定义含10个元素的数组A,初始时元素值均为该数组类型能表示的最大数MAX。

forM中的每个元素s

if(sA[9])丢弃A[9]并将s按升序到A中;(排序的算法)

当数据全部扫描完毕,数组A[0]~A[9]保存的即是最小的10个数。

(2)时间复杂度:O(n),每次要时都是需要对小数组A进行遍历的

空间复杂度:O(1),中间过程额外需要常数个变量。

如果这里将10修改为k,则:

时间复杂度:O(nk),需要遍历k次数组。

文档评论(0)

1亿VIP精品文档

相关文档