一道面试题: Top K 问题

鸟窝 at 
一道面试题: Top K 问题的配图
最近在招一个 Go 开发工程师,面试中时候我会问一个 Top K 的问题,这个问题是一个经典的面试题。有时候我不会要求面试者写出答案,首先我听一下他的思想,如果写代码困难的话我都允许可以上网查标准库的文档,看看 heap 的用法。相对来说比 Redis 的作者 antirez 的面试要轻松些了,他的面试题是要求面试者写出一个二叉搜索树。这道题既然是经典题,很很多教科书或者算法网站上都有,比如 leetcode 也有,收录在 Leetcode 算法题解精选一书中。快速排序我们可以采用快速排序的方法实现。而且,因为我们只关心第 K 个最大的元素,我们只需要找出这个元素,不需要对整个数组进行完全排序……