Блог пользователя Jorge_Slime

Автор Jorge_Slime, история, 13 месяцев назад, По-английски

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
  • Проголосовать: не нравится

»
13 месяцев назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

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!

»
13 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

A beginner friendly introduction to hashing

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

Here is another ressource, the usaco guide

»
13 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Check this

»
13 месяцев назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

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

  • »
    »
    13 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    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.

    • »
      »
      »
      13 месяцев назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

»
13 месяцев назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

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: