Hi!, I hope you have a good day. I really want to learn Hashing. I've read some blogs but I can't find one for beginners or a very friendly list of problems to start with. If someone could help me.. thanks in advance.
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3741 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3489 |
7 | Radewoosh | 3483 |
8 | Kevin114514 | 3442 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 169 |
2 | atcoder_official | 162 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | nor | 150 |
Hi!, I hope you have a good day. I really want to learn Hashing. I've read some blogs but I can't find one for beginners or a very friendly list of problems to start with. If someone could help me.. thanks in advance.
Название |
---|
I don't know much hashing, but I learned polynomial hashing from here and cp-algo. I think you should check this out, I enjoyed both the sources. I hope you enjoy learning!
A beginner friendly introduction to hashing
You can then practice on the CSES problem set, link here
Here is another ressource, the usaco guide
Check this
Why do you even need hashing at this stage? I wouldn't recommend you learn hashing until you''re at least cyan. I would suggest you get comfortable with basic stuff like binary search and two pointers...
I understand, the truth is that I was very curious about the potential that hashing has, which is why I wanted to see a little about this topic.
I see... but again, do not bother with it at this moment, you'll eventually learn it along the way trust me :)
Hashing is a technique that involves generating a fixed-size output from an input of variable size using the mathematical formulas known as hash functions. This technique determines an index or location for the storage of an item in a data structure 1.
To learn hashing, you can start with the following steps:
Understand the basics: Learn about the components of hashing, such as keys, hash functions, and hash tables. You can find a comprehensive introduction to hashing on GeeksforGeeks.
Choose a programming language: Hashing is used in many programming languages, including Python, Java, and C++. Choose a language that you are comfortable with and start practicing.
Practice: Start with simple examples and gradually move on to more complex ones. You can find many practice problems on websites such as LeetCode and HackerRank.
Learn collision resolution techniques: Collisions occur when two different inputs generate the same hash value. Learn about the different techniques used to handle collisions, such as separate chaining and open addressing.
Explore real-world applications: Hashing is used in many real-world applications, such as password storage, data retrieval, and cryptography. Exploring these applications can help you understand the practical uses of hashing. Here are some books that can help you learn more about hashing: