¿Cuál es la mejor manera de estudiar la estructura de datos de árbol?

En primer lugar, este tema es un gran océano. No soy un experto, solo una persona que aprende este tipo de cosas por diversión.

La mejor manera es comenzar con un árbol binario y le sugiero que haga algunas implementaciones estáticas como esta

#definir izquierda (n) 2 * n
# definir derecha (n) 2 * n + 1
int a [64]; // árbol de 5 capas

A pesar de que es un poco desperdicio de memoria, el recorrido y otras operaciones serán más simples, ya que cometerá muchos errores y en las implementaciones dinámicas también habrá mucho (SIGSEGV) para tratar.

Entonces, probablemente, vaya por cosas un poco complejas como árbol de segmentos, árbol de fenwick, árbol 2-3.

Si aún le queda cordura, vaya a la descomposición de luz pesada y otras cosas (no ha llegado tan lejos, pero seguramente lo hará en el futuro)

CodeChef ayuda mucho , pero solo si tiene la paciencia para encontrar el problema adecuado y pasa la mayor parte de su tiempo viendo la pantalla de respuesta incorrecta

More Interesting

¿Cómo calcular la permutación inversa en un estilo de programación funcional?

Tengo conocimiento de estructuras de datos y algoritmos, pero me falta programación competitiva, ¿cómo debo mejorar? ¿Puedo sobrevivir a la competencia de hoy?

¿Cuáles son los temas de doctorado en estructuras de datos y análisis?

¿Qué algoritmos de aprendizaje automático son más adecuados para las entradas 1-hot?

¿Es útil leer 5 o más libros para algoritmos, o debería leer solo uno o dos y usar los otros como referencia para algún algoritmo en particular?

Cómo desarrollarme bien en algoritmos y programación

¿Qué es un algoritmo para generar una lista de secuencias numéricas que consta de cinco números (00-99) de modo que cada número en una secuencia siempre ocurra en combinación ÚNICA con los otros números y no haya secuencias duplicadas?

¿Existe un límite superior para la capacidad de comprensión de un individuo? Si es así, ¿qué se debe hacer para mejorarlo?

Se me pide que lea datos de un archivo .txt en una matriz y que haga cosas con esa información (encontrar promedio, encontrar número de elementos, encontrar valores máximos / mínimos). ¿Cómo se puede hacer esto en Java?

Cómo resolver el problema de cambio de UVa 166 si tenemos una oferta limitada de cada denominación

¿Cuáles son los algoritmos de vanguardia para las características de textura eficientes para la recuperación de imágenes?

¿Cuál es el algoritmo más rápido para calcular el késimo elemento más pequeño en la unión de dos listas ordenadas de tamaño myn?

¿Es posible encontrar la identidad de una persona basada solo en el estilo de escritura?

Cómo programar un algoritmo de análisis de datos

Cómo implementar el algoritmo de aprendizaje de refuerzo para tareas de robótica, que incluye control y planificación de rutas