数据结构
文章平均质量分 75
mt_09
这个作者很懒,什么都没留下…
展开
-
哈希表—拉链法
哈希表的建立,初始化,节点的插入,查找,删除及哈希表的销毁的相关代码如下:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h>typedef int KeyType; typedef int ValueType;#define primesize ...原创 2018-03-01 17:32:55 · 438 阅读 · 0 评论 -
哈希变形—位图(给定40亿个不重复的无符号数整数,没排过序,给一个无符号整数,如何快速判断一个数是否在这40亿个数中)
#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<string.h>typedef struct BitMap { size_t* _bits;//size_t _range;//}BitMap; void BitMapInit(BitMap* bm, si...原创 2018-03-01 18:55:18 · 394 阅读 · 0 评论 -
单向链表的实现
单链表的建立、头插、尾插、给定位置插入、尾删、给定位置删除、节点的查找、链表的销毁:#include<stdio.h>#include<string.h>#include<assert.h>#include<stdlib.h>typedef int DataType; //pHead:头结点 ppHead:指向pHead的指针 *ppHea...原创 2018-03-05 17:27:27 · 165 阅读 · 0 评论 -
布隆过滤器
大致思路:布隆过滤器是通过哈希函数使得字符串产生不同的无符号整数,再通过位图,一个字符串每产生一个整数,就将这个整数在位图中的位置由0置1,当一个字符串利用m个哈希函数产生m个整数在位图的位置都为1,我们大致可以认为这个字符串存在,否者不存在。具体代码如下:typedef char* KeyValue; typedef size_t(*HASH_FUNC)(KeyValue str); //这...原创 2018-03-13 16:04:29 · 70 阅读 · 0 评论