SlideShare une entreprise Scribd logo
1  sur  16
Búsqueda en Anchura
(Breadth – First)
Algoritmo:
1. Definir una Lista L con los nodos iniciales. En cualquier momento
asumir que L es una lista de los nodos que no han sido examinado.
2. Si L está vacía, falla. De otro modo, se toma un nodo N de L.
3. Si N es una meta. Regrese el nodo y el trayecto desde el nodo
inicial al nodo N.
4. Si N no es una meta. Elimine N de L y añada todos los hijos al
final de L de N, etiquetándolos con la trayectoria desde el inicio.
Retorne al paso 2.
• Se tiene un árbol en un
estado inicial y se cuenta
con cuatro metas:
M1, M2, M3 y M4.
• Se introduce A como
primer elemento de la lista.
• Se comprueba que A no es
una meta y se elimina de la
lista.
• Se introducen los hijos de
A en la lista recorriendo el
árbol de izquierda a
derecha y manteniendo la
información del recorrido.
Es decir AB y AC.
• AB no muestra ninguna
meta así que se saca de la
lista.
• Se analizan los hijos de B
y se introducen al final de
la lista como ABD y ABE.
• AC tampoco es una meta y
es eliminado de la lista.
• Se introducen los hijos de
C al final de la lista.
• Se siguen sacando de la
lista aquellos nodos que no
dan como resultado una
meta.
• En este caso se introducen
al final de la lista los hijos
de D.
• Los nuevos nodos
introducidos a la lista son
H e I.
• ABE no muestra ninguna
meta y se elimina de la
lista.
• Al introducir los hijos de E
al final de la lista se puede
ver que ha aparecido uno
de los nodos meta. En este
caso el nodo es M1
• Se siguen eliminando los
nodos que no son estados
meta y agregando a los
hijos al final de la lista.
• En este punto se elimina
ABEJ y se introducen los
hijos de J al final de la lista
y al frente queda ABEM1 lo
que da como resultado el
éxito.
• Se encuentra la meta M1 y
se detiene el algoritmo al
haber alcanzado el éxito.
• Se traza el camino desde
el origen hacia la meta:
• A  B  E  M1
• El algoritmo de búsqueda
en anchura se detiene al
encontrar un nodo meta sin
importar cual sea este.
• En el caso hipotético de
que M1 no hubiese sido un
nodo meta el algoritmo
habría continuado sacando
nodos del frente de la lista
e introduciendo hijos al
final de la misma hasta
hallar una meta. En este
caso M2.

Contenu connexe

Tendances

Bca ii dfs u-2 linklist,stack,queue
Bca ii  dfs u-2 linklist,stack,queueBca ii  dfs u-2 linklist,stack,queue
Bca ii dfs u-2 linklist,stack,queueRai University
 
Búsqueda no informada - Búsqueda bidireccional
Búsqueda no informada - Búsqueda  bidireccionalBúsqueda no informada - Búsqueda  bidireccional
Búsqueda no informada - Búsqueda bidireccionalLaura Del Pino Díaz
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)Franklin Parrales Bravo
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialNoraVelasquez4
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesMago Julio Cesar
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
Binary search tree operations
Binary search tree operationsBinary search tree operations
Binary search tree operationsKamran Zafar
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Ana Castro
 
Binary search tree in data structures
Binary search tree in  data structuresBinary search tree in  data structures
Binary search tree in data structureschauhankapil
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una colajeffersoncenteno
 
Java Linked List Tutorial | Edureka
Java Linked List Tutorial |  EdurekaJava Linked List Tutorial |  Edureka
Java Linked List Tutorial | EdurekaEdureka!
 

Tendances (20)

Bca ii dfs u-2 linklist,stack,queue
Bca ii  dfs u-2 linklist,stack,queueBca ii  dfs u-2 linklist,stack,queue
Bca ii dfs u-2 linklist,stack,queue
 
Búsqueda no informada - Búsqueda bidireccional
Búsqueda no informada - Búsqueda  bidireccionalBúsqueda no informada - Búsqueda  bidireccional
Búsqueda no informada - Búsqueda bidireccional
 
Queues
QueuesQueues
Queues
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Analysis of algorithm
Analysis of algorithmAnalysis of algorithm
Analysis of algorithm
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificial
 
Búsqueda A*
Búsqueda A*Búsqueda A*
Búsqueda A*
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Binary search tree operations
Binary search tree operationsBinary search tree operations
Binary search tree operations
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
 
Binary search tree in data structures
Binary search tree in  data structuresBinary search tree in  data structures
Binary search tree in data structures
 
Listas
ListasListas
Listas
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una cola
 
Splay tree
Splay treeSplay tree
Splay tree
 
Binary search tree(bst)
Binary search tree(bst)Binary search tree(bst)
Binary search tree(bst)
 
Java Linked List Tutorial | Edureka
Java Linked List Tutorial |  EdurekaJava Linked List Tutorial |  Edureka
Java Linked List Tutorial | Edureka
 

Búsqueda en Anchura

  • 1.
  • 2. Búsqueda en Anchura (Breadth – First) Algoritmo: 1. Definir una Lista L con los nodos iniciales. En cualquier momento asumir que L es una lista de los nodos que no han sido examinado. 2. Si L está vacía, falla. De otro modo, se toma un nodo N de L. 3. Si N es una meta. Regrese el nodo y el trayecto desde el nodo inicial al nodo N. 4. Si N no es una meta. Elimine N de L y añada todos los hijos al final de L de N, etiquetándolos con la trayectoria desde el inicio. Retorne al paso 2.
  • 3. • Se tiene un árbol en un estado inicial y se cuenta con cuatro metas: M1, M2, M3 y M4.
  • 4. • Se introduce A como primer elemento de la lista.
  • 5. • Se comprueba que A no es una meta y se elimina de la lista. • Se introducen los hijos de A en la lista recorriendo el árbol de izquierda a derecha y manteniendo la información del recorrido. Es decir AB y AC.
  • 6. • AB no muestra ninguna meta así que se saca de la lista. • Se analizan los hijos de B y se introducen al final de la lista como ABD y ABE.
  • 7. • AC tampoco es una meta y es eliminado de la lista. • Se introducen los hijos de C al final de la lista.
  • 8. • Se siguen sacando de la lista aquellos nodos que no dan como resultado una meta. • En este caso se introducen al final de la lista los hijos de D. • Los nuevos nodos introducidos a la lista son H e I.
  • 9. • ABE no muestra ninguna meta y se elimina de la lista. • Al introducir los hijos de E al final de la lista se puede ver que ha aparecido uno de los nodos meta. En este caso el nodo es M1
  • 10. • Se siguen eliminando los nodos que no son estados meta y agregando a los hijos al final de la lista.
  • 11.
  • 12.
  • 13.
  • 14. • En este punto se elimina ABEJ y se introducen los hijos de J al final de la lista y al frente queda ABEM1 lo que da como resultado el éxito.
  • 15. • Se encuentra la meta M1 y se detiene el algoritmo al haber alcanzado el éxito.
  • 16. • Se traza el camino desde el origen hacia la meta: • A  B  E  M1 • El algoritmo de búsqueda en anchura se detiene al encontrar un nodo meta sin importar cual sea este. • En el caso hipotético de que M1 no hubiese sido un nodo meta el algoritmo habría continuado sacando nodos del frente de la lista e introduciendo hijos al final de la misma hasta hallar una meta. En este caso M2.