最初的问题是给出了前一天访问过的5GB URL的文件,找到了前k个常用URL.这个问题可以通过使用哈希映射计算不同URL的出现来解决,并在min heap的帮助下找到前k个,获取O(n log k)时间.
现在我在想如果输入是无限的在线数据流(而不是静态文件),那我怎么知道最后一天的前k个URL呢?
或者我是否可以对系统进行任何改进,使我能够动态地获取最后一分钟,最后一天和最后几小时的前k个URL?
任何提示将不胜感激!
algorithm hash binary-heap data-structures streaming-algorithm