发布时间:2025-04-22 20:30:04 点击量:
HASH GAME - Online Skill Game GET 300
哈希表什么是哈希表哈希函数的构造方法处理冲突的方法哈希表的查找哈希表的查找分析小结和作业课堂练习扣允单潭毁渴赂伦败逢覆疾困饥棺耻直驴塔斑莫描摆斑录烦块炒煎报歪般数据结构-哈希表数据结构-哈希表A[0]A[1]A[2]A[3]A[4]A[5]A[6]A[7]A[8]A[9]A[10]例1:有一批考试成绩,统计各分数段的人数。对成绩Grade,执行:A[grade/10]++什么是哈希表盆眉袭英裳滑陶缝厕迄矿共掣胞著枕撮构典揖勘岂命溺哦皑郸嫁募冈殆贬数据结构-哈希表数据结构-哈希表例2:Ord(Char)=asc(char)–asc(‘a’)+1什么是哈希表01(A)345(E)9(I)……268(H)4(D)19(S)22(V)018(R)7(G)1905(E)HADHASHAVHEHERHEREHIGHIS坪蕊揩沿背轴羹闻剩六倾咸测裁制萤拿永赠函瓣滨链煽挝西赢仇炉厢蓖容数据结构-哈希表数据结构-哈希表将1000个学生的信息存放在数组A[0]—A[999]中例3:为每年招收的1000名新生建立一张查找表,其关键字为学号,其值的范围为xx000~xx999(前两位为年份)。什么是哈希表number(substring(学号,3,3))甸屿役磅闪端嚣匿硫甭缓旅陨抒宣萧样破羽扬蕾彼扔屋厚卡衬域佳邮志赤数据结构-哈希表数据结构-哈希表建立查找表:给定关键字key计算f(key)数组下标查找表:使用数组存放n个关键字,数组的下标0n-1什么是哈希表查找时:给定关键字key计算f(key)数组下标捡恶慈洛位针述别茬任鳃该亥议吨丛镀侵标咐挨顿附分带杉噎懊伸铅柒拼数据结构-哈希表数据结构-哈希表建立查找表:给定grade计算f(grade)数组下标例4:统计学生成绩各分数段的人数什么是哈希表查找时:给定grade计算f(grade)数组下标Hash函数:f(grade)=grade/10赌晒教泻呕伦雄尔医识疹摔看辗赴暇蛮溜锁罐绰沃噬脾哨犯绷焕素耀胖裁数据结构-哈希表数据结构-哈希表什么是哈希表{Zhao,Qian,Sun,Li,Wu,Chen,Han,Ye,Dei}例5:对于如下9个关键字设哈希函数f(key)=(Ord(第一个字母)-Ord(A)+1)/2翘傍槛世细拼寂爽秃梨择衰伦宛目肥刁海种淋漆惑莫浆签叙沤五宵骆额兴数据结构-哈希表数据结构-哈希表什么是哈希表字母ABCDEFGHIJKLM序号13字母NOPQRSTUVWXYZ序号**********ChenZhaoQianSunLiWuHanYeDei序号013问题:若添加关键字Zhou,怎么办?搏橙催侗殃贩祈怕观股睦灶丛糊瘁骆绎衅兵傍咱拌从尔莲脑婆斟犯贾啦帛数据结构-哈希表数据结构-哈希表什么是哈希表由此可见,1)哈希(Hash)函数是一个映象,即:将关键字的集合映射到某个地址集合上,它的设置很灵活,只要这个地址集合的大小不超出允许范围即可;2)对不同的关键字可能得到同一哈希地址,即:key1≠key2,而f(key1)=f(key2),因此,很容易产生“冲突”现象;妓惧篆浇染孽蒋套考琵扶锻渊搁仁沛起吝妒旨铣展婴坤沛番扫着货绪照吮数据结构-哈希表数据结构-哈希表什么是哈希表3)很难找到一个不产生冲突的哈希函数。一般情况下,只能选择恰当的哈希函数,使冲突尽可能少地产生。因此,在构造这种特殊的“查找表”时,除了需要选择一个“好”(尽可能少产生冲突)的哈希函数之外;还需要找到一种“处理冲突”的方法。祥轿踏砾脊庚瞩求税阁呵赐尧抗去径拈芦琐夹挤夏誉僚践龟巾阅鼠肉石己数据结构-哈希表数据结构-哈希表