Como entendí por su pregunta, desea etiquetar cada vértice como el hijo izquierdo / derecho de su padre.
Esto se puede hacer mediante cualquier tipo de algoritmo transversal de árbol ( DFS , BFS , etc.) mientras se mantienen dos contadores, uno para el número de vértices izquierdos (llamémoslo cntL ) y el otro para los correctos (llamémoslo cntR )
para un DFS que comienza desde la raíz, el algoritmo será algo como esto:
- ¿Cuáles son todas las estructuras de datos que conoce? ¿Cuál de estos usas con frecuencia? Agrúpelos en "Básico" y "Avanzado".
- Tenemos una serie de N palabras, ¿cómo podríamos clasificarlas con O (N) complejidad de tiempo?
- ¿Cómo se representa a los usuarios en código en el sitio web de Quora o en cualquier otro sitio de redes sociales?
- ¿Estamos utilizando los mismos algoritmos de inteligencia artificial de los años 90 con mejores procesadores?
- Si la compresión sin pérdida es completamente reversible, ¿por qué no omitimos un paso y solo usamos los archivos en su estado comprimido?
- compruebe si existe un hijo izquierdo , en caso afirmativo
- aumente cntL en [matemáticas] 1 [/ matemáticas], luego llame a DFS en el niño izquierdo
- verifique si existe el niño correcto , si es así, entonces
- aumente cntR en [matemáticas] 1 [/ matemáticas], luego llame a DFS en el niño correcto
cuando el algoritmo termina, cntR y cntL contendrán las respuestas requeridas.