首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

搜索引擎中的URL散列

散列(hash)也就是哈希,是信息存储和查询所用的一项基本技术。在搜索引擎中网络爬虫在抓取网页时为了对网页进行有效地排重必须对URL进行散列,这样才能快速地排除已经抓取过的网页。最理想的状态是对联网上所有的网页都分配一个哈希地址,可想而知这是一个相当宠大的数字,但实际上往往是无法做到这一点。虽然google、百度都是采用分布式的机群进行哈希排重,但实际上也是做不到所有的网页都分配一个唯一散列地址。但是可以通过多级哈希来尽可能地解决,但却要会出时间代价在解决哈希冲突问题。所以这是一个空间和时间相互制约的问题,我们知道哈希地址空间如果足够大可以大大减少冲突次数,所以可以通过多台机器将哈希表根据一定的特征局部化,分散开来,每一台机器都是管理一个局部的散列地址。

03

图解LeetCode——652. 寻找重复的子树(难度:中等)

根据题意,我们要找出重复的子树,那么,就需要我们针对给出的树进行遍历,来统计这个树是由哪些子树构成的。所以,基于这种解题思路,我们首先采用深度优先遍历方式,对树中的每个节点进行遍历,每当遍历一个子树的时候,我们就将该子树存储到哈希表中,我们这里采用的是Map<String, Integer>,其中key存储的是前序/后续拼装的树的字符串(每个节点以“/”分割),value存储的是遍历子树过程中,相同子树出现的个数。那么,为了排重,当且仅当出现了第2次的时候,才放入到待返回的变量List<TreeNode> result中。最终,将result作为结果返回即可。具体操作如下图所示:

01

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券