Escolar Documentos
Profissional Documentos
Cultura Documentos
RECONCILIACIÓN
…2““NACIONAL
”
INGENIERIA DE SISTEMAS
ALUMNOS:
Guadalupe-2018
CONTENIDO
1
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
BUSQUE EN ANCHURA
1.1. INTRODUCCIÓN:
Esta técnica consiste en visitar todos los vértices y arcos del grafo, exactamente una vez
y en un orden específico predeterminado, por lo cual podríamos decir que estos
algoritmos simplemente nos permiten hacer recorridos controlados dentro del grafo con
algún propósito.
2
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
1.2.DEFINICIÓN:
3
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
1.2.1. DEFINICIÓN DE UN GRAFO:
Desde un punto de vista práctico, los grafos permiten estudiar las interrelaciones entre
unidades que interactúan unas con otras. Por ejemplo, una red de computadoras puede
representarse y estudiarse mediante un grafo, en el cual los vértices representan
terminales y las aristas representan conexiones (las cuales, a su vez, pueden ser cables o
conexiones inalámbricas).
1.3. PROCEDIMIENTO:
4
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
1.4. ALGORITMO DE BUSQUEDA EN ANCHURA:
La estrategia que usaremos para garantizar este recorrido es utilizar una cola que nos permita
almacenar temporalmente todos los nodos de un nivel, para ser procesados antes de pasar al
siguiente nivel hasta que la cola esté vacía.
Inmediatamente después de declarar nuestra estructura de cola, agregamos el nodo raíz para
poder iniciar el proceso de búsqueda. Esto se hace porque necesitamos tener al menos un
elemento en nuestra cola, dado que la condición de salida es que la cola esté vacía. Luego
marcamos el nodo raíz como visitado.
5
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
Cada vez que visitamos un nodo, lo desencolamos e imprimimos por pantalla el valor del nodo
para ir indicando el recorrido. Luego agregamos a la cola todos los nodos del siguiente nivel y los
marcamos como visitados antes de comenzar el ciclo de nuevo, en el que procesaremos estos
nuevos nodos que hemos agregado a la cola.
6
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
1.5. APLICACIÓN EN C#
CODIGO:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace RobotinBuscaRobotina
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
MOV.Text = movimientos.ToString();
}
private bool botonA1 = false;
private bool botonA2 = false;
private bool botonA3 = false;
private bool botonB1 = false;
private bool botonB2 = false;
private bool botonB3 = false;
private bool botonC1 = false;
7
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
private bool botonC2 = false;
private bool botonC3 = false;
int movimientos = 0;
Intercambio(A1, B1);
Intercambio(A1, A2);
}
Intercambio(B1, A1);
Intercambio(B1, B2);
Intercambio(B1, C1);
8
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
{
botonC1 = true;
movimientos++;
MOV.Text = movimientos.ToString();
Intercambio(C1, B1);
Intercambio(C1, C2);
}
Intercambio(A2, A1);
Intercambio(A2, B2);
Intercambio(A2, A3);
}
Intercambio(B2, B1);
Intercambio(B2, A2);
Intercambio(B2, B3);
Intercambio(B2, C2);
}
Intercambio(C2, B2);
Intercambio(C2, C1);
Intercambio(C2, C3);
9
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
private void D2_Click(object sender, EventArgs e)
{
Intercambio(A3, A2);
Intercambio(A3, B3);
}
Intercambio(B3, B2);
Intercambio(B3, B3);
Intercambio(B3, A3);
Intercambio(B3, C3);
}
Intercambio(C3, C2);
Intercambio(C3, B3);
10
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20
private void A4_Click(object sender, EventArgs e)
{
}
}
}
}
11
Segundo P, David, Marco P, Henry C, Gerardo E. Marzo 20