散列函数直接用key%size的形式,size为散列表的大小。
冲突处理采用平方探测法,为保证可以探测到整个散列表空间,散列表大小设置为4k+3形式的素数。
当散列表中的元素过多时会造成性能下降,这时应该倍增散列表的大小,重新计算原来散列表中每个元素在新的散列表中的位置。
散列表的实现
// HashTable.cpp : 定义控制台应用程序的入口点。
//
#inc...
分类:
其他好文 时间:
2015-08-26 20:15:23
阅读次数:
189
/**
* 功能:对字符串数组进行排序,将所有的变位词排在相邻的位置。
*/
两种方法:
方法一:
/**
* 思路:套用排序算法,并修改比较器。这里比较器用来指示两个字符串胡伟变位词就是相等的。
* @param array
*/
public static void sort(String[] array){
Arrays.sort(array, ne...
分类:
编程语言 时间:
2015-08-20 18:58:42
阅读次数:
168
哈希表的基本概念 哈希表,也叫散列表,它是基于快速存取的角度设计的,是一种典型的“空间换时间”的做法。哈希表是普通数组的一种推广,因为数组可以直接寻址,故可在O(1)时间内访问数组的任意元素。 哈希表是根据关键字(Key Value)而直接进行访问的数据结构。也就是说,它将关键字通过某种规则映射.....
分类:
其他好文 时间:
2015-08-20 09:06:52
阅读次数:
184
1.基本概念
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
2. 常用的构造散列函数的方法
散列函数能使对一个数据序列的访问过程更加迅速有效,通过散列函数,数据元素将被更...
分类:
系统相关 时间:
2015-08-18 12:06:27
阅读次数:
122
数据结构之--散列表查找定义:通过某个函数f,使得???存储位置=f(关键字)???这样我们可以通过查找关键字不需要比较久可以获得需要记录的存储位置。这就是一种新的存储技术--散列技术。???散列技术在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(k...
分类:
其他好文 时间:
2015-08-11 10:03:24
阅读次数:
136
0.参考文献:hash算法 (hashmap 实现原理)Java实现的散列表1.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希....
分类:
其他好文 时间:
2015-08-11 09:59:58
阅读次数:
114
vc下有2个版本的散列表类,hash_map和unordered_map,hash_map位于stdext命名空间,unordered_map在std命名空间(vs2008及其之后的版本可用),官方推荐使用unordered_map,前者是一个旧的非标版本。2者使用起来很类似,但构造函数有明显不同....
分类:
其他好文 时间:
2015-08-09 15:31:13
阅读次数:
144
头文件:
#ifndef __HASHTABLE_H
#define __HASHTABLE_H
/*********************(平方)开放定址散列法***************/
//如果有冲突发生,那么就尝试另外的单元,直到找到空的单元为止
typedef unsigned int index;
typedef index position;
typedef int E...
分类:
编程语言 时间:
2015-08-09 12:35:21
阅读次数:
266
/**
* 功能:在二维平面上,有一些点,请找出经过点数最多的那条线。/**
* 思路:在任意两点之间画一条无线长的直线,用散列表追踪那条直线出现的次数最多。时间复杂度O(N*N)
* 注意:
* 1)用斜率和y轴截距来确定是否是同一条直线。
* 2)浮点数不一定能用二进制数准确表示,因此检查两个浮点数的差值是否在某个极小值(epsilon)内。
* 3)对于散...
分类:
其他好文 时间:
2015-08-08 15:05:13
阅读次数:
218
8. 蛤蟆的数据结构进阶八哈希表相关概念
本篇名言:“作家当然必须挣钱才能生活,写作,但是他决不应该为了挣钱而生活,写作。--
马克思”
前些笔记我们学习了二叉树相关。现在我们来看下哈希表。这篇先来看下哈希表的相关概念
欢迎转载,转载请标明出处:
1. 哈希表的概念
哈希表(HashTable)也叫散列表,是根据关键码值...
分类:
其他好文 时间:
2015-08-07 23:59:13
阅读次数:
389