1 / 15

Árboles

Árboles. Arbol General. Terminología. Nodo Arista Nodo raíz Nodos hojas Camino Longitud de camino Padre de un nodo. Hijo de un nodo Antecesores Descendientes Subárbol Hermanos Nivel o profundidad Altura Grado de Nodo Grado del árbol. ARBOL BINARIO.

vaughan
Download Presentation

Árboles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Árboles

  2. Arbol General

  3. Terminología • Nodo • Arista • Nodo raíz • Nodos hojas • Camino • Longitud de camino • Padre de un nodo

  4. Hijo de un nodo • Antecesores • Descendientes • Subárbol • Hermanos • Nivelo profundidad • Altura • Grado de Nodo • Grado del árbol

  5. ARBOL BINARIO El árbol binario tiene las siguientes características distintivas: • Cada nodo puede tener como máximo 2 subárboles • Cada subárbol se identifica como el subárbol izquierdo o el subárbol derecho de su padre • Puede ser vacío

  6. Especificación TD árbol binario • Elementos: Los elementos de un árbol binario son nodos con elementos estándar los cuales poseen un campo clave • Estructura: Tiene estructura jerárquica

  7. Operaciones recorrer(ord) PRE: El árbol es no vacío POST: Cada nodo en el árbol ha sido procesado exactamente una vez. El orden en que los nodos fueron procesados depende del valor de ord, así: Caso de ord: • preorden: raíz – subárbol izq – subárbol dcho • inorden: subárbol izq – raíz – subárbol dcho • postorden: subárbol izq – subárbol dcho - raíz

  8. insertar(e, rel) PRE: puede darse rel=raiz y el árbol es vacíoo rel  raiz y el árbol es no vacío. POST: dependiendo del valor de rel, e pudo haber sido añadido. Si e fue añadido, el nodo que contiene a e es el actual. Caso de rel: • raíz: e es el elemento en la raíz del árbol. • hijoizq: si c-pre no tenía hijo izquierdo entonces tiene un hijo izquierdo que contiene a e, de otro modo la función da error. • hijoder: si c-pre no tenía hijo derecho entonces tiene un hijo derecho que contiene a e, de otro modo la función da error.

  9. borrarsub() PRE: el árbol es no vacío. POST: el subárbol de T-pre cuya raíz es c-pre ha sido removido del árbol. El nodo raíz es el actual (o nulo si c-pre era la raíz del árbol) actualizar(e) PRE: el árbol es no vacío. POST: el elemento del nodo actual tiene el valor de e.

  10. e = leer() PRE: el árbol es no vacío. POST: e tiene el valor del elemento del nodo actual. st = características() PRE: el árbol es no vacío. POST: st contiene el tamaño (número de nodos del árbol), la altura y la longitud promedio de un camino desde la raíz hasta un nodo hoja del árbol.

  11. ir_a(rel) PRE: el árbol es no vacío. POST: el nodo actual está determinado por el valor de rel como se indica a continuación. caso de rel: • raiz: El nodo raíz es el actual. • padre: si c-pre tenía un nodo padre, este es el actual. De otro modo da error. • hijoizq: si c-pre tenía un hijo izquierdo, este es el actual. De otro modo da error. • hijoder: si c-pre tenía un hijo derecho, este es el actual. De otro modo da error.

  12. r = vacio() PRE: ninguna. POST: si T-pre es vacío, el valor de r es VERDADERO, de otro modo el valor de r es FALSO. crear() PRE: no existe árbol. POST: existe un árbol vacío. destruir() PRE: el árbol es no vacío. POST: el árbol es vacío

  13. ÁRBOL BINARIO DE BÚSQUEDA Un árbol binario de búsqueda es un tipo especial de árbol binario en el cual la posición de cada nodo en el árbol está determinada por el valor de alguno de los campos del elemento guardado en el nodo (generalmente el campo clave) a este campo del elemento del nodo se le llamará campo de clasificación.

  14. Un árbol binario de búsqueda es un árbol binario tal que para cada nodo N, las siguientes afirmaciones son verdaderas: - Si L es algún nodo en el subárbol izquierdo de N, entonces el campo de clasificación de L es menor que el campo de clasificación de N. - Si R es algún nodo en el subárbol derecho de N, entonces el campo de clasificación de R es mayor que el campo de clasificación de N.

  15. Especificación Muchas de las operaciones del árbol binario son exactamente iguales en el árbol binario de búsqueda. actualizare insertar deben ser modificadas para conservar la estructura del árbol de búsqueda, además se añaden dos funciones nuevas: encontrar_clavey borrar_clave que toman ventaja de las características del árbol de búsqueda.

More Related