Recorridos de árboles (en orden, preorden y posorden)

A diferencia de las estructuras de datos lineales (array, lista enlazada, colas, pilas, etc.) que solo tienen una forma lógica de atravesarlos, los árboles se pueden recorrer de diferentes maneras. Las siguientes son las formas generalmente utilizadas para atravesar árboles. C++ // C++ program for different tree traversals #include <iostream> using namespace std;    /* … Continue reading «Recorridos de árboles (en orden, preorden y posorden)»

Nodes comunes en la secuencia en orden de un árbol entre dos Nodes dados en el espacio O(1)

Dado un árbol binario que consta de valores distintos y dos números K1 y K2 , la tarea es encontrar todos los Nodes que se encuentran entre ellos en la secuencia ordenada del árbol. Ejemplos:   Entrada:            1          / \       12 11       / / \    3 4 13           \ /         15 9  k1 = 12  k2 = … Continue reading «Nodes comunes en la secuencia en orden de un árbol entre dos Nodes dados en el espacio O(1)»

Compruebe si los recorridos dados en orden y preorden son válidos para cualquier árbol binario sin construir el árbol

Dadas dos arrays pre[] e in[] que representan el recorrido en orden previo y en orden del árbol binario , la tarea es verificar si los recorridos dados son válidos para cualquier árbol binario o no sin construir el árbol . Si es posible, imprima Sí . De lo contrario , imprima No. Ejemplos: Entrada: … Continue reading «Compruebe si los recorridos dados en orden y preorden son válidos para cualquier árbol binario sin construir el árbol»

Imprima los Nodes del árbol binario a medida que se convierten en el Node hoja

Dado un árbol binario. Primero imprima todos los Nodes de hoja, luego elimine todos los Nodes de hoja del árbol y ahora imprima todos los Nodes de hoja recién formados y siga haciendo esto hasta que todos los Nodes se eliminen del árbol. Ejemplos :  Input : 8 / \ 3 10 / \ / … Continue reading «Imprima los Nodes del árbol binario a medida que se convierten en el Node hoja»

Recorridos de árboles (en orden, preorden y posorden) – Part 1

A diferencia de las estructuras de datos lineales (array, lista enlazada, colas, pilas, etc.) que solo tienen una forma lógica de atravesarlos, los árboles se pueden recorrer de diferentes maneras. Las siguientes son las formas generalmente utilizadas para atravesar árboles. C++ // C++ program for different tree traversals #include <iostream> using namespace std;    /* … Continue reading «Recorridos de árboles (en orden, preorden y posorden) – Part 1»

Mediana de todos los Nodes de un rango dado en un árbol de búsqueda binaria (BST)

Dado un árbol de búsqueda binaria (BST) que consta de N Nodes y dos Nodes A y B , la tarea es encontrar la mediana de todos los Nodes en el BST dado cuyos valores se encuentran en el rango [A, B] . Ejemplos: Entrada: A = 3, B = 11 Salida: 6 Explicación: Los … Continue reading «Mediana de todos los Nodes de un rango dado en un árbol de búsqueda binaria (BST)»

Enfoque iterativo para verificar si un árbol binario es BST o no

Dado un árbol binario , la tarea es verificar si el árbol binario dado es un árbol de búsqueda binaria o no. Si se encuentra que es cierto, escriba «SÍ» . De lo contrario, escriba «NO» . Ejemplos: Aporte:  9 / \ 6 10 / \ \ 4 7 11 / \ \ 3 5 … Continue reading «Enfoque iterativo para verificar si un árbol binario es BST o no»

Tutorial sobre Árbol Binario

El árbol es una estructura de datos jerárquica . Un árbol binario es un árbol que tiene como máximo dos hijos. El Node que está a la izquierda del árbol binario se llama «hijo izquierdo» y el Node que está a la derecha se llama «hijo derecho». Además, el árbol más pequeño o el subárbol … Continue reading «Tutorial sobre Árbol Binario»

Comprobar si un árbol binario es BST: enfoque simple y eficiente

Dado un árbol binario, la tarea es verificar si el árbol binario dado es un árbol de búsqueda binario o no. Un árbol de búsqueda binario (BST) es una estructura de datos de árbol binario basada en Nodes que tiene las siguientes propiedades.  El subárbol izquierdo de un Node contiene solo Nodes con claves menores … Continue reading «Comprobar si un árbol binario es BST: enfoque simple y eficiente»

Divida un BST en dos BST equilibrados en función de un valor K

Dado un árbol de búsqueda binaria y un número entero K , tenemos que dividir el árbol en dos árboles de búsqueda binaria equilibrados , donde BST-1 consta de todos los Nodes que son menores que K y BST-2 consta de todos los Nodes que son mayores que o igual a K. Nota: La disposición … Continue reading «Divida un BST en dos BST equilibrados en función de un valor K»