数据结构11:哈希表专题
来源:互联网 发布:阿里巴巴产品标题优化 编辑:程序博客网 时间:2024/05/22 05:14
哈希表实现类HashTable
package ch15;import java.math.BigInteger;public class HashTable { private Info[] arr; /** * 默认的构造方法 */ public HashTable() { arr = new Info[100]; } /** * 指定数组初始化大小 */ public HashTable(int maxSize) { arr = new Info[maxSize]; } /** * 插入数据 */ public void insert(Info info) { arr[hashCode(info.getKey())] = info; } /** * 查找数据 */ public Info find(String key) { return arr[hashCode(key)]; } public int hashCode(String key) {// int hashVal = 0;// for(int i = key.length() - 1; i >= 0; i--) {// int letter = key.charAt(i) - 96;// hashVal += letter;// }// return hashVal; BigInteger hashVal = new BigInteger("0"); BigInteger pow27 = new BigInteger("1"); for(int i = key.length() - 1; i >= 0; i--) { int letter = key.charAt(i) - 96; BigInteger letterB = new BigInteger(String.valueOf(letter)); hashVal = hashVal.add(letterB.multiply(pow27)); pow27 = pow27.multiply(new BigInteger(String.valueOf(27))); } return hashVal.mod(new BigInteger(String.valueOf(arr.length))).intValue(); }}
键值对定义类
package ch15;/** * 员工信息类 * @author Administrator * */public class Info { private String key; private String name; public Info(String key, String name) { this.key = key; this.name = name; } public String getKey() { return key; } public void setKey(String key) { this.key = key; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
阅读全文
0 0
- 数据结构11:哈希表专题
- 数据结构专题
- 数据结构专题
- 数据结构专题
- 数据结构专题
- 数据结构专题
- 专题集训--数据结构
- UESTC2015数据结构专题
- 【暑假专题训练#数据结构】
- Redis 专题一: 数据结构
- ACdream 简单数据结构 专题
- 【专题小结】数据结构
- 数据结构1:数组专题
- 【数据结构专题-03】树
- UVa 10152 - ShellSort 数据结构专题
- 唐老师 数据结构 专题五
- 暑假训练4-数据结构专题
- [MOOC笔记]排序专题(数据结构)
- FIO使用
- 改变性格也可以从食物下手
- 总是忘记null的判断,每次都百度,这次自己记下了
- Mark-20170803-git(每次都要重新找链接太麻烦了,不如整理一下步骤)
- SharedPreferences存储
- 数据结构11:哈希表专题
- [LeetCode]226. Invert Binary Tree--反转二叉树
- C++ 将指定文件夹下的所有文件拷贝到另一文件夹下
- GPU编程自学1 —— 引言
- hdoj 6043(2017 Multi-University Training Contest
- 对于PHP语法你了解多少?
- bsgs(数论)
- SQL Server 时间查询整理
- UPC 2017 Summer Training 1