C/C++ 基于对勾函数和双曲线实现高效率散列函数,实现真正意义上的减少冲突!!

本散列函数基于对勾函数和双曲线函数实现。
对勾函数图像:

双曲线函数图像:

散列函数分析

通过以上两个函数我们可以制造一个散列函数,符合x2/a2 - y2/b2=1,且a,b值相同。
在下面的代码中,我们将会假设a的值为1,b的值为2,且我们要使用散列表,将待操作数43传入其中并获得其索引,可以得到y = sqrt(b2*x2/a2-b2)
然后将y的值作为x传入对勾函数解得索引值为85.这里我们直接遵循C语言中的截断原则,对带有小数点的值直接截断,也就是取其下界。

代码:

#include <iostream>
#include <cmath>
using namespace std;
class Hex_Function
{private:long a;long b;public:Hex_Function(int value1, int value2) {a = value1;b = value2;}long Create_Hyperbola_function(long value){return sqrt(((pow(b, 2)*pow(value, 2)) / pow(a, 2)) - pow(b, 2));}long Get_Ticking_function(long value){return (value*a) + (b / value);}
};int main()
{Hex_Function* one = new Hex_Function(1,2);cout <<"散列值:"<< one->Get_Ticking_function(one->Create_Hyperbola_function(43));return 0;
}

设计思想:

  1. 尽量减少a和b的差的绝对值。
  2. 令a的值尽可能小于b的绝对值。
  3. 取上界和取下界操作对函数没有过大的影响。所以为了简单起见我们直接使用取下届操作。
  4. 所有操作都是基于a和b大于0的情况,且a和b应该同号,否则就要考虑到要对散列结果进行取绝对值操作。或者就是按照int最大取值范围进行模运算。
  5. a和b的取值应根据散列表大小动态定义。
  6. 由于取下界操作影响,总存在一个零界点X使得散列值为0,超过该零界点,散列函数失效。

C/C++ 基于对勾函数和双曲线实现高效率散列函数,实现真正意义上的减少冲突!!相关推荐

  1. 对勾函数与双曲线的关系

    转载于:https://www.cnblogs.com/xuebajunlutiji/p/7911746.html

  2. 对勾函数的性质及其应用

    对勾函数的性质及其应用 对勾函数虽然简单,但是由于其和二次函数,基本不等式之间的天然联系,使得其成为高中阶段一个经常考察,也经常使用的函数. 1 定义 对勾函数:对勾函数是形如f(x)=ax+bxf( ...

  3. 对勾函数_对勾函数讲解与例题解析

    未找到引用源. 的图象与性质 对勾函数是数学中一种常见而又特殊的函数.它在高中教材上不出现,但考试总喜欢考的函数,所以也要 注意它和了解它. ( 一 ) 对勾函数的图像 对勾函数是一种类似于反比例函数 ...

  4. R语言数据热力图绘制实战(基于原生R函数、ggplot2包、plotly包)

    R语言数据热力图绘制实战(基于原生R函数.ggplot2包.plotly包) 目录 R语言数据热力图绘制实战(基于原生R函数.ggplot2包.plotly包)

  5. 对勾函数_对勾函数?2020福建省中考压轴题分析

    训练营机密视频大公开 欢迎转发.分享 传播知识,传播力量! 福建也是全省统一考 选择题: 这题考的是二次函数的性质,先求出对称轴就好了 填空题: 这题看似有反比例,确实会用到反比例函数的对称性.但其实 ...

  6. lisp语言100以内勾股数_三个视频搞定:函数的最值、对勾函数、分式函数性质与图像、分段函数最值...

    ● 本文适合高一上学期.高三一轮复习的同学阅读.先看视频再看文字,看视频时注意利用暂停,想清楚每一步变形的依据. 01 函数的最值.对勾函数的性质 视频讲解 1.函数的最大(小)值 说明: (1)最大 ...

  7. SAP资产负债表实现方案探索 - 基于 VBA 自定义函数方法

    本篇接着SAP资产负债表实现方案探索 - 基于 Excel-DNA 自定义函数方法 这篇博文,继续介绍通过 VBA 编写自定义函数来实现资产负债表的方法.在上一篇文章中,整体解决方案的思路可以分为两个 ...

  8. bzoj4570: [Scoi2016]妖怪【凸包+对勾函数最小值】

    Description 邱老师是妖怪爱好者,他有n只妖怪,每只妖怪有攻击力atk和防御力dnf两种属性.邱老师立志成为妖怪大师,于 是他从真新镇出发,踏上未知的旅途,见识不同的风景.环境对妖怪的战斗力 ...

  9. 对勾函数_对勾函数的图像及其性质1.pptx

    对勾函数的图像及其性质1.pptx 热烈欢迎各位老师前来听课! 况秀玉春 1.给出一个确定的函数常从几个方面研究它: 定义域.值域.奇偶性. 单调性.函数图象 ⑴.函数的定义域 函数 y=f(x) 中 ...

最新文章

  1. 数据库的查询,添加,修改,删除
  2. 亲测好用!如何快速访问github网站?
  3. Elasticsearch--建议器
  4. SQL Server数据库表锁定原理以及如何解除表的锁定转
  5. java表达式语法格式为_2009(选修)JavaWeb模拟试卷(2011-2012)
  6. MySQL大批量数据插入
  7. vue-day02-vue常用特性
  8. atitit.细节决定成败的适合情形与缺点
  9. python学习链接
  10. 【渝粤教育】国家开放大学2018年春季 0281-21T色装概论 参考试题
  11. docker容器安装和配置实战
  12. CMKY与RGB的转换
  13. 微信小程序开发-view视图组件
  14. 如何编辑修改PDF文字
  15. origin画图软件 多个子图融合
  16. 01-Redis核心数据结构和高性能原理
  17. XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件
  18. ENGINEER01 - 分区规划和使用,LVM逻辑卷
  19. linux标准发音视频,Linux的标准发音
  20. WEB攻击之 CSRF 攻击及防御策略

热门文章

  1. 决策树方法-对买电脑进行分类预测
  2. 论Sue这个人呐(=@__@=)
  3. 将.fig或其他图片文件转为Visio可编辑的.vsd文件
  4. Unity:排序图层
  5. Electron教程(七)结语
  6. 【Nacos 学习笔记】01 - 快速入门
  7. C++使用ifstream read读文件时读的大小的问题
  8. python满天星效果图_客厅满天星地砖铺贴效果图 大厅瓷砖四角满天星造型图片...
  9. 威眼局域网监控软件3.7.2发布
  10. 备份介质介绍之一:磁带