domingo, 8 de noviembre de 2009

TAREA QuickSort

Hola a todos respecto a la tarea para el jueves (tentativamente).

Simplemente deberán programar el algoritmo Quicksort agregando este método de ordenamiento a los métodos previos que hemos revisado (Se encuentran en la misma página), pero para hacerlo deberán usar un archivo que contendrá números desordenados de la siguiente forma:

entrada.txt (inicio)

12
13
14
.
.
.
43
123
989
(salida)

Para implementar el método deberán guardar los número en un objeto list de stl y la implementación será por medio de un algoritmo recursivo.

por ejemplo pueden usar la siguiente firma del método:

list ordenaQuickSort(list listaDesordenada){
// deben usar en todo momento un objeto de tipo list
.
.
}

También calculen el tiempo que se tarda en ordenar el arreglo de entrada.

NOTA deberán hacer el método dinámico (debe poder usarse para cualquier entrada de números) y recuerden que no quierdo códigos repetidos o sacadodos de internet TAMPOCO USAR EL MÉTODO sort de la clase list.

Saludos.

jueves, 5 de noviembre de 2009

Revisen por favor la siguiente página:

Holas les dejo la siguiente liga para que la revisen tiene un pequeño simulador de algunos algoritmos de ordenamiento:

http://people.cs.ubc.ca/~harrison/Java/sorting-demo.html

Saludos.

martes, 3 de noviembre de 2009

Les dejo las diapositivas de hoy.

AG

Ordenamiento1




Saludos.

jueves, 15 de octubre de 2009

CLASE en la sala de videoproyecciones

Perdon me confundí con la página la clase el martes y jueves es en el salón 213 como siempre.

Saludos.

martes, 13 de octubre de 2009

aqui pueden descargar la presentación del inicio de grafos:

Presentación

Saludos.

viernes, 9 de octubre de 2009

Presentacion de Pilas, Filas y Listas

aqui pueden descargar la presentación de las listas, pilas y filas:

Presentación

Saludos buen fin de semana.
Hola les dejo el programa de pilas :


class Pila {

private:
Nodo * ultimo;
unsigned int elementos;

public:
Pila() {
elementos = 0;
}

~Pila() {
while (elementos != 0) pop();
}

void push(int elem) {
cout<<"haciendo push a: "<<elem<<endl;
Nodo* aux = new Nodo;
aux->elemento = elem;
aux->siguiente = ultimo;
ultimo = aux;
++elementos;
}

int pop() {
cout<<"haciendo pop a la pila"<<endl;
int tmp;
Nodo* aux = ultimo;
tmp=ultimo->elemento;
ultimo = ultimo->siguiente;

delete aux;
--elementos;
return tmp;
}

int tope(){
if(vacia()){
cout<<"No hay elementos en el tope o cima"<<endl;
return 0;
} else{
cout<<"En el tope tenemos al elemento:"<<ultimo->elemento<<endl;
return ultimo->elemento;
}
}

bool vacia(){
if(elementos == 0)
return true;
else
return false;
}

unsigned int stackSize(){
return elementos;
}

};