java 一道java面试题,20亿数字的文本排序,如何取前100?
浏览量:1544
时间:2021-04-01 09:10:01
作者:admin
一道java面试题,20亿数字的文本排序,如何取前100?
因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度是k,时间复杂度是nlogk
这是一个很好的问题。作为一名计算机专业的教育工作者,让我谈谈我的看法。
首先,本科生应该重视编程语言的学习。Java作为一种比较流行的全场景编程语言,在未来的工业互联网时代仍有很好的应用前景,相关的帖子也很多。
编程语言本身只是一种工具,编程语言的应用与场景密切相关,不同的开发场景也需要积累不同的知识结构,所以在学习编程语言的过程中,要选择一个主要的方向,然后围绕主要方向制定学习计划。
从知识体系建设的角度来看,无论Java未来的发展方向是什么,最好按照web的发展方向来组织知识结构。一方面,web开发的知识体系相对成熟,有大量的案例可供借鉴。另一方面,网络开发领域的就业机会更多,未来的就业机会也更多。
掌握了基本的Java Web开发技术体系后,我们可以专注于大数据方向。大数据方向的发展空间很大,目前大数据发展岗位的人才缺口比较大。从大数据的发展趋势来看,未来很长一段时间,大数据将处于快速发展时期。虽然大数据的技术体系已经成熟,但大数据在行业中的应用才刚刚起步。
要向大数据方向发展,我们需要学习更多。除了奠定坚实的编程基础外,我们还需要关注操作系统(Linux)和大数据平台的学习。由于大数据平台的内容较多,在学习过程中要多做实验,最好结合具体的行业场景。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。