¿Cuál es la lógica para verificar si dos árboles de búsqueda binarios son estructuralmente idénticos o no?

En general, se sabe que el problema del isomorfismo gráfico es NP-completo. Si el gráfico es un árbol, existe un algoritmo de tiempo polinómico que usa hashing (puede leer más sobre esto aquí).

La solución de hash se usa porque, dado que un nodo en el primer árbol que sabemos es equivalente a algún nodo particular en el segundo árbol, no sabemos qué hijo del primer nodo es isormórfico para cada hijo del segundo. Por lo tanto, tomamos los hashes.

Pero dado que especifica que los árboles son árboles de búsqueda binarios, la solución se vuelve mucho más simple. El orden de los niños ya está decidido. Entonces, el hijo izquierdo del primer nodo TIENE que ser isomorfo al hijo izquierdo del segundo nodo. Y similar en el caso de los niños correctos. Entonces, obtienes un algoritmo de tiempo lineal simple O (V + E) .

Puede encontrar más detalles de la solución aquí. 🙂

Pase por cualquiera de los siguientes enlaces, encontrará la respuesta

Escribir código para determinar si dos árboles son idénticos – GeeksforGeeks

Compruebe si dos árboles son idénticos

La forma más eficiente de probar la igualdad de dos árboles binarios

Determine si dos árboles binarios son iguales

Pregunta de la entrevista de Amazon para ingenieros / desarrolladores de software

Dados dos árboles binarios, encuentre si son estructuralmente idénticos.

More Interesting

¿Se puede usar la GPU para optimizar los algoritmos gráficos?

¿Cuánto tiempo / horas debo pasar todos los días para ser un buen programador de Java para poder resolver estructuras de datos y algoritmos con ese lenguaje en el futuro?

¿Es posible determinar el valor máximo de puntos que se puede otorgar para una sola palabra Scrabble?

¿Puedo obtener el algoritmo para un enfoque iterativo en una búsqueda binaria de doble pivote?

¿Cuáles son las estructuras de datos utilizadas en el almacén de datos? ¿De qué manera difieren de las estructuras de datos utilizadas en la base de datos relacional?

¿Podemos, y qué significa, 'crear algoritmos sin codificación'?

¿Qué libro debo elegir para aprender algoritmos y estructuras de datos? Ver la descripción.

¿Por qué CLRS no cubre algoritmos como el punto más cercano iterativo (ICP)?

Cómo resolver esta recurrencia T (n) = T (sqrt (n)) + log_2 n

¿Puedes dar ejemplos de cómo usamos las estructuras de datos en el mundo real?

¿Cuál es la comparación en algoritmo de Sieve of Sundaram y Sieve of Eratosthenes con tiempo-complejidad?

¿Alguien ha implementado algoritmos de detección de ECG en un microcontrolador para la detección PQRS?

¿Cómo se comparten de forma segura las claves de los algoritmos de cifrado y descifrado entre el emisor y el receptor sin ser interrumpidos por intrusos?

Cómo mejorar en la implementación de algoritmos

¿Cuál es el mejor algoritmo para encontrar dos elementos iguales en una matriz?