java选择排序 一道java面试题,20亿数字的文本排序,如何取前100?
浏览量:2813
时间:2021-04-03 05:25:11
作者:admin
一道java面试题,20亿数字的文本排序,如何取前100?
因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度为k,时间复杂度为nlogk
~]。
Java的排序算法是什么?Java排序可以分为两类:内部排序和外部排序。在排序过程中,如果所有记录都存储在内存中,则称为内部排序。如果排序过程中需要外部内存,则称为外部排序。以下排序属于内部排序:1。插入排序:直接插入排序、二分法插入排序、希尔排序。2选择排序:简单选择排序和堆排序。三。交换排序:气泡排序,快速排序。4合并和排序。5基数排序。Java算法,一共有多少个,哪个,怎么分类?1算法分为递归、迭代、并行、序列、过程、确定性、不确定性等。2根据设计范式,该算法包括分治、动态、贪婪、线性、图论、简化等。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。