hash table(开放寻址法-双重散列实现的哈希表)


#ifndef C11LEARN_HASHDOUBLE_H
#define C11LEARN_HASHDOUBLE_H
#include "HashLiner.h"
template<typename T>
class HashDouble:public HashLiner<T>{protected:virtual int hashing(int key,int index);virtual int auxiliary_hashing2(int key);
};template<typename T>
int HashDouble<T>::hashing(int key,int index){return (HashLiner<T>::auxiliary_hashing(key) + index * auxiliary_hashing2(index))%HashLiner<T>::capacity;
}
template<typename T>
int HashDouble<T>::auxiliary_hashing2(int key){return key%2 == 0?key+1:key;
}
#endif //C11LEARN_HASHDOUBLE_H

测试代码

 HashDouble<string> hashDouble;hashDouble[2] = "hello";hashDouble[123456] = "world";cout << hashDouble[2] << endl;cout << hashDouble[123456] << endl;HashDouble<string> hashDouble1 = hashDouble;cout << hashDouble1[2] << endl;cout << hashDouble1[123456] << endl;HashDouble<string> hashDouble2;hashDouble2 = hashDouble;cout << hashDouble2[2] << endl;cout << hashDouble2[123456] << endl;

辅助类
HashLiner地址链接

hash table(开放寻址法-双重散列实现的哈希表)相关推荐

  1. hash table(开放寻址法-二次探查实现的哈希表)

    hash table(开放寻址法-二次探查实现的哈希表) #ifndef C11LEARN_HASHQUADRATIC_H #define C11LEARN_HASHQUADRATIC_H #incl ...

  2. hash table(开放寻址法-线性探查实现的哈希表)

    hash table(开放寻址法-线性探查实现的哈希表) // // Created by 许加权 on 2021/7/17. //#ifndef C11LEARN_HASHLINER_H #defi ...

  3. hash table(完全散列实现的哈希表)

    hash table(完全散列实现的哈希表) 完全散列 特点:静态的,创建时候完成了散列表的生成. 不可以删,也不可以增加数据.只可以修改数据. 内部用全域散列生成 #ifndef C11LEARN_ ...

  4. 散列算法和哈希表结构

    散列算法和哈希表结构 散列算法和哈希表结构 算法概述 Hash ,一般翻译做" 散列" ,也有直接音译为" 哈希" 的,就是把任意长度的输入(又叫做预映射, p ...

  5. Java:实现具有开放寻址冲突解析方法(如linear)的哈希表基类算法(附完整源码)

    Java:实现具有开放寻址冲突解析方法的哈希表基类算法 package com.williamfiset.algorithms.datastructures.hashtable;import java ...

  6. 开放寻址法VS链表法

    开放寻址法 只用数组一种数据结构存储,继承了数组的优点,对CPU缓冲友好,易于序列化.但是对内存的利⽤率并不如链表法,且冲突的代价更高.当数据量⽐较⼩.装载因⼦⼩的时候,适合采⽤开放寻址法.这也是Ja ...

  7. Hash表_拉链法_开放寻址法_模拟散列表

    文章目录 Hash表 作用 ① 拉链法 ② 开放寻址法 例 - 模拟散列表 > 拉链法 > 开放寻址法 Hash表 一般只有添加.查找 (注意:离散化为特殊的哈希方式,因为离散化需要提前保 ...

  8. 散列(2)线性探测法和双重散列法

    接上篇 散列的简要描述和链地址法 解决散列冲突的方法: 1. 线性探测法 如果我们能够预测将要存入表中元素的数目,而且我们有足够的内存空间可以容纳带有空闲空间的所有关键字,那么使用链地址法是不值得的. ...

  9. 利用开放定址法实现散列表的创建、插入、删除、查找操作_快速入门数据结构:散列表(上)...

    散列表与散列算法 散列表的英文叫"Hash Table",我们平时也叫它"哈希表"或者"Hash 表",散列表用的是数组支持按照下标随机访问 ...

最新文章

  1. heartbeat v2版CRM的高可用web集群的实现
  2. php如何使用代码清除bom,使用php清除bom示例
  3. (Mybatis)XML配置解析
  4. SpringBoot 页面跳转后css和js效果都无效了
  5. 【SpringBoot】使用Maven添加jQuery、bootstrap等依赖(WebJars)
  6. 单片机编程php,STC单片机内部FLASH读写程序(最新整理)
  7. Numpy | Python列表与Numpy数组对比
  8. python_day9 异常处理
  9. 计算机专业中职好就业不,内江计算机专业中职好不好
  10. python-day1-用户的输入输出
  11. Remember The Word-Trie
  12. atitit groovy 总结java 提升效率
  13. 企业管理理论综述与实践 — 战略
  14. 【iOS】—— Foundation框架(二)- 数组(NSArray与NSMutableArray)
  15. 相差天数时分秒_PHP 小方法之 计算两个时间戳之间相差的日时分秒
  16. 英特尔i5 1240H
  17. DDSM+RetinaNet数据处理进展
  18. 微软官方推安全管家,或许不是一场作秀
  19. floyd-warshall算法浅理解
  20. AVG神作是如何炼成的? 《逆转裁判》成步堂三部曲解析

热门文章

  1. Android之RecycleView实现指定范围的拖动效果
  2. Android之解决Gigaset手机不能设置DeviceOwner权限提示already provisioned问题
  3. Android插件化开发基础之Java动态代理(proxy)机制的简单例子
  4. java.io.File.setExecutable(boolean executable) 方法来设置所有者对于此抽象路径名执行权限。
  5. Android之判断网络状态(网络的连接,改变,和判断2G/3G/4G)
  6. 尾调用优化 java_为什么JVM仍然不支持尾调用优化?
  7. 这些全国各地的特色面,你都吃过了吗?
  8. 是的,我打败了一个奥特曼。
  9. 下面由我来给大家表演个绝活
  10. 砸4亿美元,GE豪赌的全球最大风力发电机到底多大?