一、顺序查找
二、折半查找
三、二叉搜索树BST
四、B树
五、散列表,哈希hash,散列查找
散列函数的设计:1、直接定址法 H(key)= a*key +b;
2、除留余数法 H(key)=key mod p; 通常选取p为小于或等于表长(最好接近m)的最小素数或不包含小于20质因子的合数;
3、平方取中法 对关键码平方后,按散列表大小,取中间的若干位作为散列地址(简称平方后截取)。
处理冲突:1、开放定址法 ------ 闭散列表
线性探测法(堆积),二次探测法;
2、拉链法(链地址法)------开散列表
例:POJ3349 http://poj.org/problem?id=3349