返回信息流一道面试题。
一个表 存储 姓名和id
另一个表 存储 id 和 分数,
请问用哪种数据结构,可以快速的完成 查找分数最高的10个学生的姓名。
请描述下思路。 什么用 hash映射,用map排序,请具体一些
谢谢
这是一条镜像帖。来源:北邮人论坛 / cpp / #82894同步于 2014/9/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[问题]面试题,求详细思路
duoniK
2014/9/29镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
第一个表用hash,第二个表用大小为10的min heap,存储id和score组合的struct,并且以score排序,这样应该也可以吧?
解决方案应该跟实际场景有关:
如果现在求top10,以后又会去求top 100,那么B树和tree map会好
如果内存是有限的,表很大,那么使用min heap比较合适