10`02`2019 - Heineken97/Portafolio GitHub Wiki

Clase 19

Estructuras de Datos Jerarquicas

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

Arboles Binarios

(hijo izq y der) max 2 hijos

izq<Nodopadre. der>Nodopadre. Balanceo, Condicion para que sea arbol binario

Arboles Binarios de Busqueda

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

compareTo

si es igual return 0, mayor o menor retorna un valor mayor o menor respecivamente

isEmpty

retorna true si esta vacio, false si no

Contains

retorna true si el arbol contiene el elemento buscado, si el arbol no esta vacio, hace llamadas recursivas en sus subarboles

findMin/find max

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

Insertar.

Recorre el arbol usando contains