Sie sind auf Seite 1von 56

Arboles

Ing. Andrea Quan

rboles (Trees)
Una estructura de rbol es una estructura de datos compuesta por vrtices conectados entre si por medio de arcos

Rooted Tree
Un rooted tree es una estructura de rbol en donde existe un vrtice principal al que se le llama raiz (root). A los vrtices en un rooted tree se les llaman nodos.

Rooted Tree
Un rooted tree, al igual que cualquier estructura de rbol, es una estructura dinmica. La nica referencia directa que se tiene es a la raiz.
raiz

Rooted Tree
Un rooted tree se divide en niveles dependiendo cuantas conecciones existen entre un nodo determinado y la raz. Su altura esta determinada por cuantos niveles tiene
raiz Level 1 Height = 3 Level 2 Level 3

Rooted Tree
padre

hijo

hermanos

Rooted Tree
x

ancestros de x descendientes de x

Rooted Tree
root

Sub arbol

Rooted Tree

HOJAS

Binary Tree
Un binary tree es un rooted tree en donde cada nodo solo puede tener cero, uno o dos hijos. Se puede definir recursivamente como:
Un rbol binario es: un rooted tree compuesto por un nodo raz el cual tiene un subrbol binario izquierdo, y un subrbol binario derecho.

En Java
La estructura se divide en dos tipos de objeto:
Nodo Referencia al padre (no necesariamente) Referencia al hijo izquierdo Referencia al hijo derecho dato BinaryTree Referencia a raz

Representacin de un BinaryTree
RAIZ

Clase BTNode

Clase BinaryTree

Formas de recorrer un Binary Tree

Formas de recorrer un Binary Tree


Existen tres formas de recorrer un Binary Tree. Cada una de ellas se aplica a un rbol binario y funcionan en forma recursiva.

Preorder
Visita el root, despus aplica preorder al subrbol izquierdo y al subrbol derecho.

Inorder
Aplica inorder al subarbol izquierdo, despus visita al root, y despus aplica inorder al subarbol derecho.

Postorder
Aplica postorder al subarbol izquierdo, despus al subarbol derecho, y despus visita al nodo.

Formas de recorrer un Binary Tree


Existen tres formas de recorrer un Binary Tree. Cada una de ellas se aplica a un rbol binario y funcionan en forma recursiva.

Preorder
Visita el root, despus aplica preorder al subrbol izquierdo y al subrbol derecho.

Inorder
Aplica inorder al subarbol izquierdo, despus visita al root, y despus aplica inorder al subarbol derecho.

Postorder
Aplica postorder al subarbol izquierdo, despus al subarbol derecho, y despus visita al nodo.

Formas de recorrer un Binary Tree


Existen tres formas de recorrer un Binary Tree. Cada una de ellas se aplica a un rbol binario y funcionan en forma recursiva.

Preorder
Visita el root, despus aplica preorder al subrbol izquierdo y al subrbol derecho.

Inorder
Aplica inorder al subarbol izquierdo, despus visita al root, y despus aplica inorder al subarbol derecho.

Postorder
Aplica postorder al subarbol izquierdo, despus al subarbol derecho, y despus visita al nodo.

Formas de recorrer un Binary Tree


Existen tres formas de recorrer un Binary Tree. Cada una de ellas se aplica a un rbol binario y funcionan en forma recursiva.

Preorder
Visita el root, despus aplica preorder al subrbol izquierdo y al subrbol derecho.

Inorder
Aplica inorder al subarbol izquierdo, despus visita al root, y despus aplica inorder al subarbol derecho.

Postorder
Aplica postorder al subarbol izquierdo, despus al subarbol derecho, y despus visita al nodo.

Ejemplo
1

2 4 5 6 11 7 9

3 8 10

Preorder
1

2 4 5 6 11 7 9

3 8 10

Preorder
1 3 4 5 6 11 Recorrido: 1 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2,4 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2,4,5 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2,4,5,6 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2,4,5,6,3 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2,4,5,6,3,7 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2,4,5,6,3,7,9 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2,4,5,6,3,7,9,11 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2,4,5,6,3,7,9,11,8 7 9 10 8 2

Preorder
1 3 4 5 6 11 Recorrido: 1,2,4,5,6,3,7,9,11,8,10 7 9 10 8 2

Inorder
1

2 4 5 6 11 7 9

3 8 10

Inorder
1 3 4 5 6 11 Recorrido: 2 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5,4 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5,4,6 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5,4,6,1 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5,4,6,1,7 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5,4,6,1,7.11 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5,4,6,1,7,11,9 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5,4,6,1,7,11,9,3 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5,4,6,1,7,11,9,3,10 7 9 10 8 2

Inorder
1 3 4 5 6 11 Recorrido: 2,5,4,6,1,7,11,9,3,10,8 7 9 10 8 2

Postorder
1

2 4 5 6 11 7 9

3 8 10

Postorder
1 3 4 5 6 11 Recorrido: 5 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6,4 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6,4,2 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6,4,2,11 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6,4,2,11,9 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6,4,2,11,9,7 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6,4,2,11,9,7,10 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6,4,2,11,9,7,10,8 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6,4,2,11,9,7,10,8,3 7 9 10 8 2

Postorder
1 3 4 5 6 11 Recorrido: 5,6,4,2,11,9,7,10,8,3,1 7 9 10 8 2

Das könnte Ihnen auch gefallen