Loading repository data…
Loading repository data…
Alfonzzoj / repository
Libreria de funciones para la estructura de arboles , en el lenguaje C.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Librería de Árboles binarios implementada en C.
Para compilar este ejemplo
gcc main.c -o nombrePrograma && nombrePrograma
gcc .\main.c -o nombrePrograma ; .\nombrePrograma
typedef struct nodo
{
int elemento;
struct nodo *izq, *der;
} nodo_t;
flowchart TD
B((1))
B-->C((2))
B-->D((3))
C-->F((4))
C-->H((5))
D-->A((6))
D-->E((7))
flowchart TD
subgraph Nivel 1
B((1))
end
subgraph Nivel 2
B-->C((2))
B-->D((3))
end
subgraph Nivel 3
C-->F((4))
C-->H((5))
D-->A((6))
D-->I((7))
end
Raiz / Nodo padre: Inidica que un nodo tiene almenos 1 nodo hijo(hoja)
Hoja: Se les llama hojas a los nodos a los que apunta un nodo padre, es decir, "nodos debajo de otros nodos", nomenclatura también utilizada para los nodos de mayor profundidad.
flowchart TD
subgraph Nodo padre
B((1))
end
subgraph Hojas
B-->C((2))
B-->D((3))
end
Busca y retorna un elemento del arbol, retorna 1 si se encontro, 0 en caso contrario
Permite insertar un elemento en el mismo nivel
flowchart TD
subgraph Antes
B((1))
B-->C((2))
B-->D((3))
C-->F((4))
C-->H((5))
D-->A((6))
end
flowchart TD
subgraph Despues
B((1))
B-->C((2))
B-->D((3))
C-->F((4))
C-->H((5))
D-->A((6))
end
D-->I((n))
flowchart TD
subgraph
B((1))
B-->C((2))
B-->D((3))
C-->F((4))
C-->H((5))
D-->A((6))
D-->I((n))
end
Siendo n el número nuevo insertado
Imprime el árbol desde el nivel indicado hasta que no se encuentren más hojas
Teniendo el árbol A:
flowchart TD
subgraph
B((50))
B-->C((25))
B-->D((55))
C-->F((10))
C-->H((26))
D-->A((52))
D-->I((56))
end
Salida en consola:
56
55
52
50
26
25
10
Busca el elemento de menor cantidad, (el que está más a la izquierda)
flowchart TD
subgraph
B((50))
B-->C((25))
B-->D((55))
C-->F((10))
C-->H((26))
D-->A((52))
D-->I((56))
end
Salida por consola
10
Busca el elemento de mayor cantidad, (el que está más a la derecha)
flowchart TD
subgraph
B((50))
B-->C((25))
B-->D((55))
C-->F((10))
C-->H((26))
D-->A((52))
D-->I((56))
end
Salida por consola
56
Elimina un nodo del árbol reubicando si es necesario NOTA: esta función retorna un árbol nuevo, sin el nodo eliminado, si se encontró, entonces se utiliza
arbol = borrar(arbol, valor);
Cuenta la cantidad de nodos del árbol
Elimina el árbol completamente
Muestra el nivel más alto del árbol (nivel de profundidad)
Recorre el árbol binario no vacío en inorden (simétrico), realiza las siguientes operaciones recursivamente en cada nodo:
Recorre el árbol binario no vacío en preorden, realiza las siguientes operaciones recursivamente en cada nodo, comenzando con el nodo de raíz:
Recorre el árbol binario no vacío en postorden, realiza las siguientes operaciones recursivamente en cada nodo:
Suma los nodos del árbol
Calcula el promedio de los nodos existentes en el árbol
Suma Los nodos de mayor profundidad en el árbol
Retorna el número de hojas del árbol
Retorna el mayor costo de una ruta en el árbol, el costo es la suma de los valores contenidos en los nodos que forman parte de la ruta, desde raíz a hoja, (para un árbol no necesariamente de búsqueda)
Debe indicar el valor de un nodo existente en el árbol, para su funcionamiento correcto
flowchart TD
subgraph
B((50))
B-->C((25))
B-->D((55))
C-->F((10))
C-->H((26))
D-->A((52))
D-->I((56))
end
Introduzca el valor,hasta donde calcular la ruta
10
El costo de la ruta es 85
Es decir, 50 + 25 +10
insertarBalanceado(nodo_t **Arbolbp, int array[], int lim1, int lim2) : Insertar balanceado dado un arreglo de
elementos,ordenados en aforma ascendente los inserta en
el arbol, lim1 y 2 son limites superior e inferior del arreglo
maxCosto(nodo_t *arbolbp): Retorna el maximo costo de un
arbol