Đây là một hàm băm đơn giản mà tôi sử dụng cho bảng băm tôi đã xây dựng. Về cơ bản, nó để lấy một tệp văn bản và lưu trữ mọi từ trong một chỉ mục đại diện cho thứ tự chữ cái.
int generatehashkey(const char *name)
{
int x = tolower(name[0])- 97;
if (x < 0 || x > 25)
x = 26;
return x;
}
Điều này về cơ bản là các từ được băm theo chữ cái đầu tiên của chúng. Vì vậy, từ bắt đầu bằng 'a' sẽ có khóa băm là 0, 'b' sẽ nhận được 1 và cứ thế và 'z' sẽ là 25. Số và ký hiệu sẽ có khóa băm là 26. Đây là một lợi thế mà điều này mang lại ; Bạn có thể tính toán dễ dàng và nhanh chóng nơi một từ nhất định sẽ được lập chỉ mục trong bảng băm vì tất cả theo thứ tự bảng chữ cái, đại loại như thế này: Mã có thể được tìm thấy ở đây: https://github.com/abhijitcpatil/general
Đưa ra văn bản sau đây làm đầu vào: Một ngày nọ, Atticus nói với Jem, tôi muốn nói rằng bạn bắn vào lon thiếc ở sân sau, nhưng tôi biết bạn sẽ đuổi theo những con chim. Bắn tất cả các tia màu xanh mà bạn muốn, nếu bạn có thể bắn chúng, nhưng hãy nhớ rằng việc giết một con chim nhại là tội lỗi. Đó là lần duy nhất tôi từng nghe Atticus nói rằng thật tội lỗi khi làm điều gì đó, và tôi đã hỏi cô Maudie về điều đó. Cha nói đúng, cha cô nói. Mockingbird không làm một việc gì ngoài việc tạo ra âm nhạc cho chúng ta thưởng thức. Họ không ăn hết vườn của mọi người, không làm tổ trong những chiếc cũi ngô, họ không làm một việc gì ngoài việc hát lên tiếng lòng của chúng tôi dành cho chúng tôi. Đó là lý do tại sao giết một con chim nhại.
Đây sẽ là đầu ra:
0 --> a a about asked and a Atticus a a all after at Atticus
1 --> but but blue birds. but backyard
2 --> cribs corn can cans
3 --> do don’t don’t don’t do don’t do day
4 --> eat enjoy. except ever
5 --> for for father’s
6 --> gardens go
7 --> hearts heard hit
8 --> it’s in it. I it I it’s if I in
9 --> jays Jem
10 --> kill kill know
11 -->
12 --> mockingbird. music make Maudie Miss mockingbird.”
13 --> nest
14 --> out one one only one
15 --> people’s
16 --> 17 --> right remember rather
18 --> sin sing said. she something sin say sin Shoot shot said
19 --> to That’s their thing they They to thing to time the That to the the tin to
20 --> us. up us
21 -->
22 --> why was was want
23 -->
24 --> you you you’ll you
25 -->
26 --> “Mockingbirds ” “Your ‘em “I’d