Bueno, para los programadores principiantes, la forma más eficiente de comprender un tema, si existe, sería abordar el tema en dos pasos.
- Lea algunos capítulos de libros sobre el tema para comprender su mecanismo de trabajo teóricamente
- Implemente el tema usando un lenguaje de programación
De hecho, creo que Trie es mucho más fácil que las tablas hash. Algunos blogs, como Trie | (Insertar y buscar) – GeeksforGeeks y The Trie: A Neglected Data Structure ya son suficientes para que lo entiendas. Si puede resolver Implementar Trie (Árbol de prefijos) | LeetCode OJ, creo que has entendido a Trie, al menos en el nivel más fundamental.
Para las tablas hash, implica más variaciones y análisis algorítmicos más complicados. Le recomendaría que primero consulte algunos buenos libros de Algoritmo para comprender su mecanismo. Luego intente implementarlo (puede ver algunos blogs, por ejemplo, implementaciones). Y lea más sobre esto para refinar sus implementaciones o pruebe otras formas.
- ¿Es posible representar binarios de 8 bits en binarios de 6 bits?
- Un hombre llega a su oficina en 2 horas y regresa en 3 horas. La ruta a su oficina incluye un sendero inclinado hacia arriba, 8 km y senderos inclinados hacia abajo. Cada vez que viaja hacia arriba, su velocidad es de 60 km / h, mientras que en un plano de 80 km / h, y cubre hacia abajo a una velocidad de 100 km / h. ¿A qué distancia está su oficina?
- Si alguien pudiera factorizar rápidamente los números primos, ¿cuáles serían las consecuencias?
- ¿Estudiar algoritmos mejorará mis habilidades cotidianas de toma de decisiones / resolución de problemas?
- ¿Un montón necesita usar una cola prioritaria?
De hecho, también estoy aprendiendo tablas hash.