Estructuras no lineales Autor: Angélica Nicolás González anicolas_gonzalez@hotmail.com
4.1 Árboles. 4.1.1 Definición. 4.1.2 Representación en memoria de árboles. 4.1.2.1 Árboles generales. 4.1.2.2 Árboles bina...
Definición
Árbol <ul><li>Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. </li></ul><ul><...
* Nodo hijo:  cualquiera de los nodos apuntados por uno de los nodos del árbol. En el ejemplo, 'L' y 'M' son hijos de 'G'....
En cuanto a la posición dentro del árbol: <ul><li>Nodo raíz:  nodo que no tiene padre. Este es el nodo que usaremos para r...
<ul><li>Un árbol en el que en cada nodo o bien todos o ninguno de los hijos existe, se llama  árbol completo . </li></ul>
características del árbol, en relación a su tamaño <ul><li>Orden : es el número potencial de hijos que puede tener cada el...
<ul><li>Nivel : se define para cada elemento del árbol como la distancia a la raíz, medida en nodos. El nivel de la raíz e...
Árboles generales <ul><li>Intuitivamente el concepto de árbol implica una estructura en la que los datos se organizan de m...
Árboles binarios <ul><li>Es un árbol en el que ningún nodo puede tener mas de dos subárboles. En un árbol binario, cada no...
Operaciones en árboles binarios <ul><li>Determinar su altura </li></ul><ul><li>Determinar su número de elementos </li></ul...
Recorridos de un árbol binario <ul><li>Recorrido . Requiere que cada nodo del árbol sea procesado (visitado) una vez y sól...
Recorrido en profundidad <ul><li>El proceso exige un camino desde la raíz a través de un hijo, al descendiente más lejano ...
Recorrido en anchura <ul><li>El proceso se realiza horizontalmente desde el raíz a todos sus hijos, a continuación a los h...
Preorden (NID) <ul><li>Este recorrido conlleva los siguientes pasos: </li></ul><ul><li>Recorrer la raíz (N) </li></ul><ul>...
Inorden (IND)  <ul><li>Recorrer el subárbol izquierdo (I) </li></ul><ul><li>Visitar el nodo raíz (N) </li></ul><ul><li>Rec...
Postorden (IDN) <ul><li>Recorrer el subárbol izquierdo (I) </li></ul><ul><li>Recorrer el subárbol derecho (D) </li></ul><u...
Balanceo de árboles binarios <ul><li>Para determinar  si un árbol esta equilibrado, se calcula  su factor de equilibrio. E...
grafos <ul><li>*Tarea* </li></ul>
Fin de la presentación
Upcoming SlideShare
Loading in...5
×

Estructuras No Lineales

19,085

Published on

Published in: Travel, News & Politics
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
19,085
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
351
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Estructuras No Lineales

  1. 1. Estructuras no lineales Autor: Angélica Nicolás González anicolas_gonzalez@hotmail.com
  2. 2. 4.1 Árboles. 4.1.1 Definición. 4.1.2 Representación en memoria de árboles. 4.1.2.1 Árboles generales. 4.1.2.2 Árboles binarios. 4.1.3 Recorridos en un árbol binario. 4.1.3.1 Preorden. 4.1.3.2 Inorden. 4.1.3.3 Postorden. 4.1.4 Balanceo de árboles binarios. 4.1.5 Clases para la implementación de árboles. 4.2 Grafos. 4.2.1 Definición. 4.2.2 Tipos de grafos. 4.2.3 Representación de grafos en memoria. 4.2.4 Clases para la implementación de grafos.
  3. 3. Definición
  4. 4. Árbol <ul><li>Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. </li></ul><ul><li>También se suele dar una definición recursiva: un árbol es una estructura en compuesta por un dato y varios árboles. </li></ul><ul><li>Esto son definiciones simples. Pero las características que implican no lo son tanto. </li></ul>
  5. 5. * Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del árbol. En el ejemplo, 'L' y 'M' son hijos de 'G'. * Nodo padre: nodo que contiene un puntero al nodo actual. En el ejemplo, el nodo 'A' es padre de 'B', 'C' y 'D'.
  6. 6. En cuanto a la posición dentro del árbol: <ul><li>Nodo raíz: nodo que no tiene padre. Este es el nodo que usaremos para referirnos al árbol. En el ejemplo, ese nodo es el 'A'. </li></ul><ul><li>Nodo hoja: nodo que no tiene hijos. En el ejemplo hay varios: 'F', 'H', 'I', 'K', 'L', 'M', 'N' y 'O'. </li></ul><ul><li>Nodo rama: aunque esta definición apenas la usaremos, estos son los nodos que no pertenecen a ninguna de las dos categorías anteriores. En el ejemplo: 'B', 'C', 'D', 'E', 'G' y 'J'. </li></ul>
  7. 7. <ul><li>Un árbol en el que en cada nodo o bien todos o ninguno de los hijos existe, se llama árbol completo . </li></ul>
  8. 8. características del árbol, en relación a su tamaño <ul><li>Orden : es el número potencial de hijos que puede tener cada elemento de árbol. De este modo, diremos que un árbol en el que cada nodo puede apuntar a otros dos es de orden dos , si puede apuntar a tres será de orden tres , etc. </li></ul><ul><li>Grado : el número de hijos que tiene el elemento con más hijos dentro del árbol. En el árbol del ejemplo, el grado es tres, ya que tanto 'A' como 'D' tienen tres hijos, y no existen elementos con más de tres hijos. </li></ul>
  9. 9. <ul><li>Nivel : se define para cada elemento del árbol como la distancia a la raíz, medida en nodos. El nivel de la raíz es cero y el de sus hijos uno. Así sucesivamente. En el ejemplo, el nodo 'D' tiene nivel 1, el nodo 'G' tiene nivel 2, y el nodo 'N', nivel 3. </li></ul><ul><li>Altura : la altura de un árbol se define como el nivel del nodo de mayor nivel. Como cada nodo de un árbol puede considerarse a su vez como la raíz de un árbol, también podemos hablar de altura de ramas. El árbol del ejemplo tiene altura 3, la rama 'B' tiene altura 2, la rama 'G' tiene altura 1, la 'H' cero, etc. </li></ul>
  10. 10. Árboles generales <ul><li>Intuitivamente el concepto de árbol implica una estructura en la que los datos se organizan de modo que los elementos de información están relacionados entre si a través de ramas. El árbol genealógico es el ejemplo típico más representativo del concepto de árbol general. </li></ul>
  11. 11. Árboles binarios <ul><li>Es un árbol en el que ningún nodo puede tener mas de dos subárboles. En un árbol binario, cada nodo puede tener cero, uno o dos hijos (subárboles). Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la derecha como hijo derecho. </li></ul>
  12. 12. Operaciones en árboles binarios <ul><li>Determinar su altura </li></ul><ul><li>Determinar su número de elementos </li></ul><ul><li>Hacer una copia </li></ul><ul><li>Visualizar el árbol binario en pantalla o en impresora </li></ul><ul><li>Determinar si dos árboles binarios son idénticos </li></ul><ul><li>Borrar (eliminar el árbol) </li></ul><ul><li>Si es un árbol de expresión, evaluar la expresión </li></ul><ul><li>Si es un árbol de expresión, obtener la forma de paréntesis de la expresión. </li></ul>
  13. 13. Recorridos de un árbol binario <ul><li>Recorrido . Requiere que cada nodo del árbol sea procesado (visitado) una vez y sólo en una secuencia predeterminada. Existen dos enfoques generales para la secuencia de recorrido, profundidad y anchura . </li></ul>
  14. 14. Recorrido en profundidad <ul><li>El proceso exige un camino desde la raíz a través de un hijo, al descendiente más lejano del primer hijo antes de proseguir a un segundo hijo. En otras palabras, en el recorrido en profundidad, todos los descendientes de un hijo se procesan antes del siguiente hijo. </li></ul>
  15. 15. Recorrido en anchura <ul><li>El proceso se realiza horizontalmente desde el raíz a todos sus hijos, a continuación a los hijos de sus hijos y así sucesivamente hasta que todos los nodos han sido procesados. En otras palabras, en el recorrido en anchura cada nivel se procesa totalmente antes que comience el siguiente nivel. </li></ul>
  16. 16. Preorden (NID) <ul><li>Este recorrido conlleva los siguientes pasos: </li></ul><ul><li>Recorrer la raíz (N) </li></ul><ul><li>Recorrer el subárbol izquierdo (I) </li></ul><ul><li>Recorrer el subárbol derecho (D) </li></ul><ul><li>REGLA . La raíz se procesa antes que los subárboles izquierdo y derecho. </li></ul>
  17. 17. Inorden (IND) <ul><li>Recorrer el subárbol izquierdo (I) </li></ul><ul><li>Visitar el nodo raíz (N) </li></ul><ul><li>Recorrer el subárbol derecho (D) </li></ul><ul><li>El significado in es que la raíz se procesa entre los subárboles. </li></ul>
  18. 18. Postorden (IDN) <ul><li>Recorrer el subárbol izquierdo (I) </li></ul><ul><li>Recorrer el subárbol derecho (D) </li></ul><ul><li>Recorrer la raíz (N) </li></ul><ul><li>Se comienza situándose en la hoja mas izquierda </li></ul>
  19. 19. Balanceo de árboles binarios <ul><li>Para determinar si un árbol esta equilibrado, se calcula su factor de equilibrio. El factor de equilibrio de un árbol binario es la diferencia en altura entre los subárboles izquierdo y derecho. Si definimos la altura del subárbol izquierdo como H 1 y la altura del subárbol derecho como H D , entonces el factor de equilibrio del árbol B se determina por la siguiente formula. </li></ul><ul><li>B= H 1 - H D </li></ul>
  20. 20. grafos <ul><li>*Tarea* </li></ul>
  21. 21. Fin de la presentación
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×