代码改变世界

随笔档案-2012年3月10日

《算法导论》第11章 散列表 (2)散列表

2012-03-10 23:05 by java线程例子, 163 阅读, 收藏,
摘要: 用散列表来解决直接寻址表的那两个问题。但由此带来的散列值的碰撞问题。最简单的解决方法是链接法,以及下一节介绍的开放寻址法。链接法,即把散列到同一槽中的所有元素都放在一个链表中。链表是无序的,在查找一个元素时需要遍历链表。对于删除函数,假如参数是要删除的结点,那么如果链表是双向的,删除操作可以O(1)内完成。在下面的删除函数中,参数是关键字,这样更为方便。#include <stdio.h> #include <stdlib.h> #include <string.h> #define SIZE 20 // 链表结点的定义 typedef struct _Li 阅读全文