嘿,你忘记写博客了~

盛年不重来,一日难再晨,及时宜自勉,岁月不待人....

100W个数取最大的10000个数

发布时间:2020-10-29编辑:windydeng浏览(794)评论览(0)

    这种场景,有几种方法去解:

    1,分治法:分治的思想是把一个事件分成多个事件各自处理,我们分出10000组,分别把100W个数放入到这1W个组里面,此时循环遍历分别找出每个组的最大数,然后在1W个组最大数中找出最大数和最小数,把最大数的那组的第二大数和最小数作比较,以此类推


    2:堆排序:第二种方法就是堆排序,先取出100个数放入堆中,建立一个最小堆,接下来遍历剩余元素,进行一个最小堆的维护,每次取出一个元素和堆顶比较,小于堆顶就继续遍历,否则替换堆顶元素,然后保持最小堆性质

关键字词:100W个数取最大的10000个数