博客
关于我
排序算法学习(3)
阅读量:735 次
发布时间:2019-03-21

本文共 533 字,大约阅读时间需要 1 分钟。

为了有效地找到25个不重复数字中的前三个最大值,小白程序员可以按照以下步骤进行:

  • 分组处理:将25个数字分成五组,每组五个,使用五次函数调用进行排序。这样每次处理五个数字,最终得到五个有序的数组。

  • 提取最大值:在每个有序数组的结尾,可以看到最大值。这样五次分组之后,每组的一个最大值已经确定了。这需要额外的五次函数调用吗?或者是否可以在原有的五次分组函数调用中提取最大值?不一定,所以可能需要再次调用五次函数,或者优化逻辑。

  • 为了简化,假设每组处理后,提取最大值不需要额外调用,那么五次分组后就能得到五个最大值。

    1. 确定最大的三个:这五个最大值中可能有重复的最大值吗?非也,因为数字是不重复的。因此,五次分组后得到的五个最大值其实是最大的五个数字。接下来需要比较这些五个数字,找出其中最大的三个。
    2. 为了实现这一点,可以对这五个数字进行排序,再次使用函数调用,得到最终的三个最大值。

      因此,分组五次后,进行一次函数调用将五个最大值排序,从而得到最大的三个数字。

      综上所述,最初的五次函数调用用于分组排序,第四次或第五次应用用于比较最大值,再进行一次排序(第六到第七次调用),从而确定最终的最大三个数字。因此,至少需要七次函数调用。

      答案:需要至少七次函数调用来完成任务。

    转载地址:http://sicgz.baihongyu.com/

    你可能感兴趣的文章
    fragment懒加载
    查看>>
    砂原良徳创作的“日本媒体艺术分散式博物馆”主题曲《Nihon no Sugata》在官网发布
    查看>>
    环太平洋大学协会启动全球首个大学Esports MetaGame Conference和电竞人才培育项目
    查看>>
    GSMA最新研究报告:运营商必须扩展连接以外的功能,以抢占价值1.1万亿美元的物联网收入商机
    查看>>
    实习复习--mysql视图17
    查看>>
    MyBatis缓存
    查看>>
    数据结构与算法【Java版】:第一课
    查看>>
    Kotlin泛型中何时该用类型形参约束?
    查看>>
    天载免息股票钢铁股掀涨停潮
    查看>>
    树莓派SSH 连接不上:socket error Event:32 Error:10053
    查看>>
    wxPython的使用
    查看>>
    红黑树(1):B-树
    查看>>
    站长常用Shell脚本整理分享(全)
    查看>>
    linux 内核提权总结(demo+exp分析) -- 任意读写(二)
    查看>>
    2020年电工(初级)考试题及电工(初级)考试题库
    查看>>
    2020年电气试验考试技巧及电气试验模拟试题
    查看>>
    2021年电工(中级)考试报名及电工(中级)模拟试题
    查看>>
    直接插入排序
    查看>>
    redis安裝并与SpringBoot整合
    查看>>
    一文搞懂Python中的所有数组数据类型
    查看>>