
SERVICE PHONE
13988889999发布时间:2025-10-12 18:50:07 点击量:
哈希游戏,哈希游戏注册,哈希游戏平台,哈希游戏平台注册,哈希游戏注册平台
哈希表及其应用 一、 定义 二、 基本原理 哈希表的基本原理是: 使用一个下标范围比较大的数组 A 来存储元素, 设计一个函数 h, 对于要存储的线性表的每个元素 node,取一个关键字 key, 算出一个函数值 h(key), 把 h(key)作为数组下标, 用 A[h(key)]这个数组单元来存储 node。 也可以简单的理解为, 按照关键字为每一个元素“分类”, 然后将这个元素存储在相应“类”所对应的地方(这一过程称为“直接定址”) 。 但是, 不能够保证每个元素的关键字与函数值是一一对应的, 因此极有可能出现对于不同的元素, 却计算出了相同的函数值, 这样就产生了“冲突”, 换句话说, 就是把...
哈希表及其应用 一、 定义 二、 基本原理 哈希表的基本原理是: 使用一个下标范围比较大的数组 A 来存储元素, 设计一个函数 h, 对于要存储的线性表的每个元素 node,取一个关键字 key, 算出一个函数值 h(key), 把 h(key)作为数组下标, 用 A[h(key)]这个数组单元来存储 node。 也可以简单的理解为, 按照关键字为每一个元素“分类”, 然后将这个元素存储在相应“类”所对应的地方(这一过程称为“直接定址”) 。 但是, 不能够保证每个元素的关键字与函数值是一一对应的, 因此极有可能出现对于不同的元素, 却计算出了相同的函数值, 这样就产生了“冲突”, 换句话说, 就是把不同的元素分在了相同的“类”之中。 例如, 假设一个结点的关键码值为 key, 把它存入哈希表的过程是: 根据确定的函数 h 计算出 h(key)的值, 如果以该值为地址的存储空间还没有被占用, 那么就把结点存入该单元;如果此值所指单元里已存了别的结点(即发生了冲突) , 那么就再用另一个函数I 进行映象算出 I(h(key)),再看用这个值作为地址的单元是否已被占用了, 若已被占用, 则再用 I 映象, , 直到找到一个空位置将结点存入为止。 当然这只是解决“冲突”的一种简单方法, 如何避免、 减少和处理“冲突”是使用哈希表的一个难题。