哈希表——分离链接法

本文探讨了哈希表,一种基于关键值直接访问的数据结构。主要内容聚焦于分离链接法,也称为链地址法,作为解决哈希冲突的一种策略。文中提到了散列函数,包括使用除留余数法,并且提到了编程环境为Visual Studio 2010,以及fatal.h用于错误处理的宏定义。
摘要由CSDN通过智能技术生成

哈希表又称散列表,是根据关键值而直接进行访问的数据结构。哈希表的实现主要是散列函数和解决冲突。散列函数有:直接寻址法、数字分析法、平法取中法、折叠发、随机数法、除留余数法(严蔚敏版数据结构)。处理冲突的方法有:分离链接法(separate chaining)又称链地址法、开放寻址法、再散列法、建立公共溢出区。本文主要将的是分离链接法的实现。散列函数用的是除留余数法。

编码及测试环境:Visual Studio 2010

fatal.h处理错误的宏定义

#include <stdio.h>
#include <stdlib.h>

#define FatalError(str) fprintf(stderr, "%s\n", str),exit(1)
hashsep.h操作函数的声明
typedef int ElementType;
typedef unsigned int Index;

#ifndef HASHSEQ_H
#define HASHSEQ_H

struct Node
{
	ElementType Element;
	struct Node *Next;
};
typedef struct Node *Position;

struct HashTbl
{
	int TableSize;//表的大小
	Position *TheLists;//存放指针的数组,二级指针
};
typedef struct HashTbl *HashTable;

HashTable InitializeTable();//创建hash表
void Insert(ElementType Key, HashTable H);//插入关键字
Position Fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值