• 散列表特性与使用


    安全散列算法(secure hash algorithm,SHA)函数;给定一个字符串,SHA反回其散列值。

    SHA可以用来判断两个文件是否相同。

    SHA-0,SHA-1,SHA-2,SHA-3>

    最安全的密码散列函数:bcrypt。

    散列函数时间复杂度为O(1)。

    散列函数将输入映射到数字;

    散列函数总是将同样的输入映射到相同的索引。

    散列函数将不同的输入映射到不同的索引。

    散列函数知道数组有多大,只返回有效的索引。

    散列表可由散列函数和数组创建,散列表是包含额外逻辑的数据结构。

    数组和链表都被直接映射到内存,散列表使用散列函数来确定元素的存储位置。

    散列表由键和值组成,将键映射到值。

    Python提供了字典来实现散列表。

    散列表可以实现DNS解析的功能。

    散列表在检查是否重复方面速度非常快(dict的get方法)。

    voted = {}
    def check_voter(name):
    if voted.get(name):
    print("kick it out!")
    else:
    voted[name] = True
    print("allow it to vote!")


    if __name__ == '__main__':
    check_voter("hello")
    check_voter("hello")

    散列表在缓存中的使用

    缓存的工作原理:网站将数据记住不再重新计算。

    缓存是一种常用的加速方式,大型网站都使用缓存,而缓存的数据则存储在散列表中。

    缓存将URL映射到页面数据。

    网站访问模型:

    cache = {}
    def get_page(url):
    if cache.get(url):
    return cache[url]
    else:
    data = get_data_from_server(url)
    cache[url] = data
    return data


    if __name__ == '__main__':
    get_page(xxx_url)
  • 相关阅读:
    Superwebsocket 模拟微信聊天室
    python杂记-6(time&datetime模块)
    python杂记-5(装饰器)
    python杂记-4(迭代器&生成器)
    python杂记-3(购买商品)
    python杂记-2(python之文件)
    python杂记-1(os模块)
    淘宝链接中的spm参数
    分布式Web服务器架构(转)
    asp.net网站增加虚拟目录,用来访问网站图片。
  • 原文地址:https://www.cnblogs.com/songyuejie/p/11374277.html
Copyright © 2020-2023  润新知