Monday, December 18, 2006

CISCO: Algoritmo Dijkstra
El algoritmo de Dijkstra es utilizado en los protocolos de enrutamiento interior (IGP), y mas especificamente en el OSPF ya que utiliza Shorted Path First (primero la ruta mas corta). Este algoritmo fue desarrollado por Edsger Dijkstra en 1959, su manera de funcionamiento es la siguiente: dado un vertice origen al resto de vertices en un grafo dirigido y con peso en cada arista, explora cada camino que parten del vertice origen y que llevan a todos los demás vertices, cuando se obtiene el camino mas corto de acuerdo al peso en cada arista el algoritmo se detiene obteniendo la ruta mas corta.
Para poder ver su funcionamiento de manera grafica ingresa a esta pagina:
http://www.alumnos.unican.es/uc900/AlgoritmoD1.htm
y espera a que se cargue el simulador.
JAVA : Estructura de Datos abstracta llamada Pilas LIFO(Last in First out)
La idea de las pilas es muy sencilla, simplemente el nuevo objeto que ingresa es referido por final y enlaza al anterior que ocupada ese espacio.
Nuestro objeto Dato tendra la variable sig de tipo Dato y la variable x de tipo int, aunque realmente no importa el valor de x ya que no lo ordenara.
Ahora bien aqui estan los metodos, recuerda que es necesario tener la clase Dato con sus respectivas variables y metodos get/set, y tambien la clase Test Pilas donde vamos a estar en interacción con el usuario.

public class Pilas {
private Dato finale;
private Dato aux;
public void insertar(Dato dat){//metodo insertar
if(finale==null){
finale=dat;

}else{
dat.sig=finale;
finale=dat;
}
}
public Dato eliminar(){//metodo eliminar
if(finale==null){
aux=null;
}else{
aux=finale;
finale=aux.sig;
}
return aux;
}
public String imprimir(){//metodo imprimir
String cad="";
Dato aux=null;
for(Dato p=finale;p!=null;aux=p,p=p.sig){
cad=cad+"\n"+p.getNum();
}
return cad;
}
}

JAVA : Estructura de Datos abstracta llamada Arbol. (Metodo Insertar y recorrido)
Los arboles son relativamente sencillos desde el punto de vista logico sin embargo todo comienza a ponerse interesante cuando pasas de los 15 valores. Nuestro objeto Dato debera contener un int x donde almacene el valor x (uh!), dos variables de tipo Dato( izq y der).
El funcionamiento del arbol es el siguiente: Este ingresa un objeto que tiene un valor x, ese valor x se posiciona en la variable raiz (que es tipo Dato ya que raiz hasta el momento era null) del arbol, posteriormente los demas objetos con valores x diferentes (mayores o menores) se iran acomodando de lado izq o der de nuestro objeto. (cada objeto tiene variable izq y der)
Los valores menores se iran a las variables izq y los valores mayores a la variable der.
Cada objeto a su vez tendra que realizar esta validación.Para insertar es necesario que nuestro metodo conozca si es mayor o menor, si es el primer objeto o si es uno de los ultimos de la rama.

Dato raiz;
public void insertar(Dato dat){
if(raiz==null){
raiz=dat;
}else{
for(Dato p=raiz;p!=null;){
if(dat.getNum()
if(p.izq==null){
p.izq=dat;
break;
}else
p=p.izq;
}else{
if(p.der==null){
p.der=dat;
break;
}else
p=p.der;
}
}
}
}

Cabe mencionar que estamos suponiendo que este metodo esta siendo insertado dentro de la clase(por eso que la variable raiz de tipo Dato la creamos fuera).
El metodo a su vez para eliminar tiene sus dificultades ya que si una rama contiene valores en sus variables izq o derecha esos valores no se pueden perder, sino que tienen que pasar a la rama anterior (el valor mayor) y el menor acomodarse en la rama izq libre del objeto anterior, asi mismo cuando deseamos eliminar el numero que esta en el objeto raiz.
Proximamente publicare el metodo eliminar, por lo mientras aqui esta el metodo recorrido, o impresion de los valores del arbol, este metodo utiliza la recursividad.

public void recorrido(Dato p){
if(p!=null){
recorrido(p.izq);
System.out.println(p.getNum());
recorrido(p.der);
}
}

Monday, December 11, 2006

CCNA Intro
Señores despues de un camino arduo de repasos jejeje y de estudio puedo decir satisfecho que he logrado la certificación Intro del CCNA, me encuentro muy contento ya que esta certificación es de una de las especialidades que me encantan: las redes CISCO.
Tambien quiero felicitar a mis amigos Humberto y Monic que lograron la certificación CCNA con promedios altisimos.
Espero en 6 meses presentar la proxima certificación, y posterior a eso... ya veremos =).