数据结构作业——寻人启事(字符串哈希)

寻人启事

Description

才来到福州大学的你很想要知道你几位失散多年的朋友是否也来到了福州 大学,于是你黑进了学校的学籍管理系统,但无奈里面的记录太多了,想通过一 条条比对查找他们的信息过于麻烦, 现在你决定写一个程序帮助你加快查找速度。

Input

第一行输入包括 n、m 两个数字,表示学籍系统里共 n(n<=1000000)条记 录,m(m<=1000 且 m<=n)个你想要寻找的朋友。接下来 n 行每行一个长度不 超过 5 的名字代表这个人的名字,在接下来 m 行每行一个长度不超过 5 的名字 代表想要寻找的人的名字。

Output

输出一个整数 k,代表学校中朋友的数量。

Sample Input

3 2
Tom
Alice
Jack
Jack
Ted

Sample Output

1

HINT

系统里的名字没有重复。
待查询的名字没有重复。

思路

简单的hash题,冲突利用分离链表法解决,并且用邻接表代替链表。主要在于hash函数的构造,一开始构造了个简单的hash函数,导致冲突过多,速度很慢,后来换了Horner法则构造,冲突极大的减少。

 AC代码

对拍程序

  

posted @   zxzhang  阅读(335)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航