zoukankan      html  css  js  c++  java
  • 关于哈希的浅谈

    我们都知道python的字典是由key,value组成的呢。你应该也听过,字典找某一个值的速度很快,那么为什么呢?

    就是因为字典里面运用了“哈希”这种技术。那么到底什么是哈希呢?

    {这里做一个限定, 我们只讨论查找这单一功能的实现中哈希的运用,并不像扯到加密和保证文件完整性的机制,恩恩就这样}

    这里为了解释什么事哈希,我要做一个非常不严禁的比喻

    我们都用过360吧,在访问”某些“网页的时候,那个是不是会报出提醒xxxx。那我们可以猜到,他内部是一定有一个表格上面吧所有不合格的网址都记录在上面了。那么加入上面有一亿个这样的域名,那么大多数情况下都要比较好多次,那么我们可以把这些网址标记起来 我们可以用特点的算法把他们区分出不同的标记。然后把这些存放到数组中,那么想要知道我们的元素是否在这个集合里,直接先把你访问的域名算成标记,然后看标记在不在存放标记的数组中。即可。{你可能会说这个跟没做哈希有什么区别--先去看下我关于list的帖子 Ps:这里用python的数组,的确是符合情况的,如果。。。。LOL

    那么这里哈希的复杂度是多少呢---它竟然是常熟级的。。。

    但是从文中我们知道其实这是一种用空间换时间的做法。实际是空间消耗所带了的弊端,远远掩盖不了 它在性能方面带来的优势,于是你懂的。。。

  • 相关阅读:
    subprocess
    bytes(str_, encoding="utf8")
    按文件生成时间 排序 批量与生成同步上传文件
    async
    http trigger 事件源是事件的生产者,函数是事件的处理者
    分片上传
    使用 FFmpeg 处理高质量 GIF 图片
    兴趣 主题 字段 二值化 多值并列属性 拆分 二值化
    打开 回收站
    shell如何查看单个或多个文件的行数或总行数
  • 原文地址:https://www.cnblogs.com/nerdlerss/p/5636408.html
Copyright © 2011-2022 走看看