堆排序java代码 一道java面试题,20亿数字的文本排序,如何取前100?
浏览量:1562
时间:2021-03-19 13:44:30
作者:admin
一道java面试题,20亿数字的文本排序,如何取前100?
因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度是k,时间复杂度是nlogk
我猜你问过人们JDK各种数据结构的底层实现原理。事实上,我一直很困惑。了解基本的实现原则是可以的,但是如果你不太了解,那又怎样呢?人们知道哪些数据结构适用于哪些场景,并且能够熟练地使用它们。那不是。。。够了吗?对贵公司的需求不足吗?你希望他为你的公司创建一个新的数据结构吗?就像two peas或JDK一样,JDK的数据结构性能遇到了瓶颈,求职者会给你提供比工作提供的数据结构更好的数据结构。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。