10`02`2019
Arboles(Especializacion de los grafos) Small at top, big at bot. Existen Binarios, heap, avl, display, Family B, Expression, N-arios
Combina ventajas de Arreglos(busqueda rapida, acceso indexado) ordenados y listas enlazadas(Facil insercion y delete)
Nodos conectados por aristas
Nodos, almacena datos y referencia a otros nodos hijos
Implementacion en sistemas de archivo, En bases de datos se guardan como variacion de la familia B, en algoritmos de compresion, arboles de expresion
- Recorrer. Proceso Nodo A ----> Nodo B
- Ruta.Path. Nodos visitados
- Raiz. NodoTope
- Arista, Todos poseen una hacia al anterior. Nodo posee solo un padre
- **NodoHoja.Leaf.**No tiene hijos
- Hermanos.Siblings. Poseen mismo padre
- Largo.length. Cantidad de Aristas
- Profundidad.Depth. Cantidad de Aristas hacia nodo especifico
- Altura.height. largo hasta las hojas mas bajas
- Visitado. Ejecutado funcion sobre nodo
(hijo izq y der) max 2 hijos
izq<Nodopadre. der>Nodopadre. Balanceo, Condicion para que sea arbol binario
Estructuras de datos lineales Arreglos o linked list, usando memoria dinamica .Se define un boolean constains() para observar si tiene item. De definen findMin( node) y find max
Operaciones sobre los elementos
si es igual return 0, mayor o menor retorna un valor mayor o menor respecivamente
retorna true si esta vacio, false si no
retorna true si el arbol contiene el elemento buscado, si el arbol no esta vacio, hace llamadas recursivas en sus subarboles
si el arbol esta vacio retorna null, si no esta vacio llama a otro findMin pero con la raiz como parametro, si el .left != null se vuelve a llamar con el nodo.left (Max igual pero con la derecha), cuando sea == null retorna el nodo
Recorre el arbol usando contains