查找,根据一个值查找另一个值,value值可以是容器,结构,这样可查找的元素就更多;
哈希冲突:
主关键字:可以唯一的标识一个记录的关键字,如准考证号;
此关键词:可以识别若干记录的关键字是此关键字,如一个姓名对应多个学生信息;
此关键字容易引发哈希冲突;
查找成功:得到信息或指示该记录在查找表中的位置;
查找失败:得到空指针或空记录;
unordered_map<string,OLG>,根据准考证号(string)查找其余的信息(各科成绩,姓名等)
struct OLG
{
string zhun_kao_zheng;
string name;
int zheng_zhi;
int yu_wen;
int wai_yu;
int shu_xue;
int wu_li;
int hua_xue;
int sheng_wu;
int zong_fen;
};
unordered_map<string,OLG>map;
string na="zhang san";
cout<<map[na].zheng_zhi;//找到张三的政治分数
查找操作:
查询 元素是否在表中;
检索 元素的各种属性;
插入 在查找表中插入一个元素;
删除 删除一个元素;
查找算法评价指标:关键字的平均比较次数,也称平均查找长度;每个关键字查找数的总和除以关键子数目;
查找的关键是:如何提高查找效率;