Árboles binarios III Recorridos
Operaciones en árboles binarios <ul><li>Determinar su altura. </li></ul><ul><li>Determinar su número de elementos. </li></...
Árboles de expresión <ul><li>Expresión: Secuencia de  tokens * </li></ul><ul><li>Propiedades: </li></ul><ul><ul><li>Cada h...
Ejemplos de precedencia <ul><li>6 + 2 * 3 – 4 / 2 ) =  </li></ul><ul><li>6 +  6  –  2  =  </li></ul>10 5 * 5 ( 5 – ( 6 – 2...
Recorrido de un árbol <ul><li>Al recorrer un árbol se debe  visitar al nodo una sola vez. </li></ul><ul><li>Recorridos: </...
Token: componentes léxicos que siguen unas reglas prescritas.  <ul><li>Identificadores: Secuencia se caracteres, letras, d...
<ul><li>/*  ….  */ </li></ul><ul><li>; </li></ul><ul><li>!  %  ^  &  * ( )  -  +  { }  ~ </li></ul><ul><li>[ ]    ´  :  < ...
<ul><li>Operadores de asignación </li></ul>Operadores aritméticos Operadores relacionales Operadores lógicos Símbolo Uso S...
Preorden <ul><li>La raíz se procesa antes que el hijo izquierdo y el hijo derecho. </li></ul>N - I - D B D E C F G A B D E...
Enorden <ul><li>Primero se procesa el hijo izquierdo, luego la raíz y al final el hijo derecho. </li></ul>I - N - D B D E ...
Postorden <ul><li>La raíz se procesa después que el hijo izquierdo y el hijo derecho. </li></ul>I - D - N B D E C F G A B ...
a * b + c + d - a * b + c + d - x z / y - * a * b + - * * y / x c d c + c d b a * b + - a / c d a * c y x
<ul><li>I. Las siguientes expresiones están en orden. Obtener sus árboles de expresión. </li></ul><ul><li>(a * b) + (c / d...
Upcoming SlideShare
Loading in …5
×

Abb recorrido

685 views

Published on

Recorrido de árboles

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
685
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Abb recorrido

  1. 1. Árboles binarios III Recorridos
  2. 2. 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 imprimirlo. </li></ul><ul><li>Determinar si dos árboles binarios son idénticos. </li></ul><ul><li>Eliminar el árbol. </li></ul><ul><li>Si es un árbol de expresión: </li></ul><ul><li>Evaluar la expresión. </li></ul><ul><li>Obtener la forma de paréntesis de la expresión </li></ul>
  3. 3. Árboles de expresión <ul><li>Expresión: Secuencia de tokens * </li></ul><ul><li>Propiedades: </li></ul><ul><ul><li>Cada hoja es un operando </li></ul></ul><ul><ul><li>El nodo raiz o los nodos internos son operadores. </li></ul></ul><ul><ul><li>Los subárboles son subexpresiones </li></ul></ul><ul><li>Reglas de precedencia: </li></ul><ul><ul><li>+ (positivo), - Negativo </li></ul></ul><ul><ul><li>*, /, % </li></ul></ul><ul><ul><li>+, - </li></ul></ul>x z / y - *
  4. 4. Ejemplos de precedencia <ul><li>6 + 2 * 3 – 4 / 2 ) = </li></ul><ul><li>6 + 6 – 2 = </li></ul>10 5 * 5 ( 5 – ( 6 – 2 ) – 1 ) = 25 ( 5 – 4 – 1 ) = 50 <ul><li>Reglas de precedencia: </li></ul><ul><ul><li>+ (positivo), - Negativo </li></ul></ul><ul><ul><li>*, /, % </li></ul></ul><ul><ul><li>+, - </li></ul></ul>
  5. 5. Recorrido de un árbol <ul><li>Al recorrer un árbol se debe visitar al nodo una sola vez. </li></ul><ul><li>Recorridos: </li></ul><ul><li>Pre orden (Preorder) </li></ul><ul><li>En orden (Inorder) </li></ul><ul><li>Post orden (Posorder) </li></ul>
  6. 6. Token: componentes léxicos que siguen unas reglas prescritas. <ul><li>Identificadores: Secuencia se caracteres, letras, dígitos y subrayados. </li></ul><ul><li>Palabras reservadas (keyword, reserved word): Característica del lenguaje C asociada con un significado especial. </li></ul><ul><li>Signos de puntuación, separadores, comentarios. </li></ul><ul><li>Operadores </li></ul>
  7. 7. <ul><li>/* …. */ </li></ul><ul><li>; </li></ul><ul><li>! % ^ & * ( ) - + { } ~ </li></ul><ul><li>[ ] ´ : < > ? , . / “ “ </li></ul>
  8. 8. <ul><li>Operadores de asignación </li></ul>Operadores aritméticos Operadores relacionales Operadores lógicos Símbolo Uso Sentencia no abreviada = a = b *= a *= b a = a * b; /= a /= b a = a / b; %= a %= b a = a % b; += a += b a = a + b; -= a -= b a = a – b; Operador Operación Ejemplo + a + b Suma - a – b Resta * a * b Multiplicación / a / b División (cociente) % a % b División (residuo) Símbolo Uso Significado == a == b Igual a != a != b No igual a > a > b Mayor que < a < b Menor que >= a >= b Mayor o igual que <= a <= b Menor o igual que Operador Operación Ejemplo ! Negación !( a >= b) && Y a > b && i > j || O a > b || i > j
  9. 9. Preorden <ul><li>La raíz se procesa antes que el hijo izquierdo y el hijo derecho. </li></ul>N - I - D B D E C F G A B D E C F G A
  10. 10. Enorden <ul><li>Primero se procesa el hijo izquierdo, luego la raíz y al final el hijo derecho. </li></ul>I - N - D B D E C F G A B D E C F G A
  11. 11. Postorden <ul><li>La raíz se procesa después que el hijo izquierdo y el hijo derecho. </li></ul>I - D - N B D E C F G A B D E C F G A
  12. 12. a * b + c + d - a * b + c + d - x z / y - * a * b + - * * y / x c d c + c d b a * b + - a / c d a * c y x
  13. 13. <ul><li>I. Las siguientes expresiones están en orden. Obtener sus árboles de expresión. </li></ul><ul><li>(a * b) + (c / d) </li></ul><ul><li>((a + b) +c) +d </li></ul><ul><li>-a + (x + y) / b * (c * a) </li></ul><ul><li>(a + b) / (c – d * e) + e + y * (h / a) </li></ul><ul><li>- x – y * z + (a + b + c / d * e) </li></ul><ul><li>(a + b) > (c - e) || a<f && (x<y || y>z) </li></ul><ul><li>II. Obtener las expresiones preorden y postorden para los primeros tres incisos del ejercicio anterior. </li></ul>

×