第6章 散列查找 —— 6.1 散列函数的构造方法
来源:互联网 发布:如何查看linux系统版本 编辑:程序博客网 时间:2024/05/21 17:41
散列查找的基本概念
- 散列(Hashing)是一种重要的查找方法。“存储位置=h(key)”。在查找某数据对象时,由函数h对给定值key计算出地址,将key与该地址单元中数据对象关键字进行比较,确定查找是否成功。因此,散列法又称为“关键字-地址转换法”。
- 散列方法中使用的计算函数称为散列函数(也称哈希函数),按这个思想构造的表称为散列表,所以它也是一种存储方法。
散列函数——位移映射
int Hash(const char * Key, int TableSize){ unsigned int H = 0;/* 散列函数值,初始化为0 */ while(* Key != '0')/* 位移映射 */ H = (H << 5) +* Key++; return H % TableSize;}
分析:
- 该函数遇到的主要问题是,当n太大时(例如关键词是一段邮寄地址所组成的字符串),前面若干位字符可能被左移出界,而起作用的只有最后几位字符。
- 一种解决办法是不使用整个字符串,而是从中选择若干位有代表性的字符进行映射,比如字符串长度大于12的时候,仅选取奇数位置上的字符来实现散列函数。
阅读全文
0 0
- 第6章 散列查找 —— 6.1 散列函数的构造方法
- 第6章 散列查找 —— 6.2 处理冲突的方法
- 散列技术-散列函数的构造方法
- 散列函数的构造方法
- 散列函数的构造方法
- 散列函数的构造方法
- 构造散列函数的方法
- 散列函数的6个构造方法
- 散列函数的6个构造方法
- 构造散列函数
- 常用的构造散列函数的方法
- 构造哈希(散列)函数的方法
- 散列函数的构造方法11.1.2
- 构造字符串的散列函数
- 散列查找--解决冲突的方法
- 数据结构 学习笔记(完):散列查找:散列(哈希)表,散列函数的构造,冲突处理,性能分析
- 散列表查询(哈希表)之散列函数的构造方法
- 我对构造散列函数的理解
- 有关xampp中httpd.conf和vhost配置问题
- 【NOIP2017提高A组模拟9.7】计数题
- HDU 1874-畅通工程续(floyd&&Dijkstra)
- 欢迎使用CSDN-markdown编辑器
- java web(二)css
- 第6章 散列查找 —— 6.1 散列函数的构造方法
- 慕课网javascript入门篇学习
- 穿插纸条 (第19-36关)双层覆盖的起点和终点
- 实训第五天
- 深度学习之CNN实现
- javax.servlet.ServletConfig、javax.servlet.ServletContext和javax.servlet.Filter
- 古文觀止卷九_駁復仇議_柳宗元
- C/C++创建和删除文件夹操作(对单个文件夹进行操作)
- C语言按位 与 或 异或