数据结构---散列表 Hash table; 哈希表
发布时间
阅读量:
阅读量
6.2
学习数据结构课程时对哈希表的知识有深刻理解,但对其细节内容已基本遗忘。深感遗憾的是这些知识已远非最初理解的程度。近期通过研读'算法图解'一书来复习相关内容,并对其中涉及的诸多知识点进行了深入思考与实践操作。尽管如此仍需系统地整理以往学习所得的知识点以确保基础扎实
以专业的术语表述时,在哈希表中使用的散列函数就是将输入数据映射到一组特定的数值集合中的一种方法。你可能会认为这些输出值看似并无明显规律,但实际上它们必须满足一系列特定的要求。
它必须具有一致性。举个例子来说吧:假设输入apple时返回的结果为4,则每次输入apple时返回的结果也必须是4;否则的话,则散列表就失去了其作用。
该方法旨在将各个不同的输入转换为独一无二的数值标识。举例而言,在极端情况下如一个糟糕设计的哈希函数无论输入是什么都会生成相同的哈希值(例如1),这样的哈希函数显然无法满足预期的需求。在最佳情况下,则要求每一个独特的输入都被分配到独一无二的数值标识。
散列表被称为一种包含额外逻辑的高级数据结构类型。
在内存管理上,
数组和链表都直接映射到内存中;
然而,
散列表在数据存储机制上更具复杂性——其采用哈希算法来确定元素的位置。
在速度方面,散列表表现优异!在数据存储机制上同样地,在数据访问速度上与传统的数组方法相当。
无需自行构建哈希表(即字典),大多数高
全部评论 (0)
还没有任何评论哟~
