Jorge_Slime's blog

By Jorge_Slime, history, 10 months ago, In English

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.

  • Vote: I like it
  • +1
  • Vote: I do not like it

»
10 months ago, # |
  Vote: I like it -9 Vote: I do not like it
»
10 months ago, # |
  Vote: I like it +1 Vote: I do not like it

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!

»
10 months ago, # |
  Vote: I like it 0 Vote: I do not like it

A beginner friendly introduction to hashing

You can then practice on the CSES problem set, link here

Here is another ressource, the usaco guide

»
10 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Check this

»
10 months ago, # |
  Vote: I like it +15 Vote: I do not like it

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...

  • »
    »
    10 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    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.

    • »
      »
      »
      10 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I see... but again, do not bother with it at this moment, you'll eventually learn it along the way trust me :)

»
10 months ago, # |
  Vote: I like it +5 Vote: I do not like it

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: