当前位置:  开发笔记 > 编程语言 > 正文

散列信息的目的是什么?

如何解决《散列信息的目的是什么?》经验,为你挑选了2个好方法。

在教会如何在类中创建哈希表之后,我不明白哈希数据何时有用.在我看来,所有散列都是将信息存储在数组中的半随机位置.我想知道在存储之后如何使任何数据变得有用.

我的问题是:散列信息有益的一些例子是什么?如何以任何有组织的方式检索数据?它似乎被放置在难以检索的任意位置.



1> Niyaz..:

散列可用于多种用途:

    它可用于比较大量数据.您可以为数据创建哈希值,存储哈希值,以后如果要比较数据,只需比较哈希值即可.

    哈希可用于索引数据.它们可以在哈希表中用于指向正确的行.如果要快速查找记录,则计算数据的哈希值并直接转到相应哈希记录所指向的记录.(这假设您有一个指向实际记录的哈希的排序列表)

    它们可用于数字签名等加密应用程序.

    散列可用于生成看似随机的字符串.

以下是维基百科列出的哈希函数的应用程序:

    查找重复记录

    寻找类似的记录

    寻找类似的子串

    几何哈希

现在关于哈希表,这里有一些注意事项:

如果您使用的是哈希表,则表中的哈希值应采用排序方式.如果没有,则必须在哈希列上创建索引.某些实现以分类的方式单独存储散列并指向原始记录.

如果某人以半随机顺序存储哈希值,则必须是由于上述原因或者因为他们只想存储信息的消息摘要以进行比较,查找重复项等而不是作为数据的索引.



2> mmcdole..:

替代文字

您在课堂上创建的哈希表的主要用途之一是您需要快速O(1)查找时间.你将拥有两个组件,键和值.

散列函数变换密钥划分成散列.该哈希是一个数字,具体而言,它是数组中数据的索引.

因此,当您需要在哈希表中查找Agscala的声誉并且您已使用您的用户名作为密钥时,几乎没有时间找到并找到相关值.它只是重新哈希您的用户名和中提琴,有您正在寻找的数据的索引.您不必遍历整个数组来查找该特定值.

对于一些参考,哈希表上的维基百科页面非常好.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有