29堆的应用:如何快速获取到Top10最热门的搜索关键词?.pdfVIP

  • 34
  • 0
  • 约1.93万字
  • 约 14页
  • 2022-02-22 发布于吉林
  • 举报

29堆的应用:如何快速获取到Top10最热门的搜索关键词?.pdf

29|堆的应用:如何快速获取到Top10最热门的搜索关键词? 29|堆的应用:如何快速获取到Top10最热门的搜索关键词? 搜索引擎的热门搜索排行榜功能你用过吗?你知道这个功能是如何实现的吗?实际上,它的实现并不复杂。搜索引擎每天会接收大量的用户搜索请求,它会把这 些用户输入的搜索关键词记录下来,然后再离线地统计分析,得到最热门的Top 10搜索关键词。 那请你思考下,假设现在我们有一个包含10亿个搜索关键词的日志文件,如何能快速获取到热门榜Top 10的搜索关键词呢? 这个问题就可以用堆来解决,这也是堆这种数据结构一个非常典型的应用。上一节我们讲了堆和堆排序的一些理论知识,今天我们就来讲一讲,堆这种数据结构 几个非常重要的应用:优先级队列、求Top K和求中位数。 堆的应用一:优先级队列 首先,我们来看第一个应用场景:优先级队列。 优先级队列,顾名思义,它首先应该是一个队列。我们前面讲过,队列最大的特性就是先进先出。不过,在优先级队列中,数据的出队顺序不是先进先出,而是 按照优先级来,优先级最高的,最先出队。 如何实现一个优先级队列呢?方法有很多,但是用堆来实现是最直接、最高效的。这是因为,堆和优先级队列非常相似。一个堆就可以看作一个优先级队列。很 多时候,它

文档评论(0)

1亿VIP精品文档

相关文档