Mostrando las entradas con la etiqueta Demostraciones. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Demostraciones. Mostrar todas las entradas

jueves, 14 de agosto de 2008

Algoritmos de ordenación


En la vida universitaria, fue necesario ver distintos algoritmos para ordenamiento de datos.
Pero a veces, la explicación en el aula no es suficiente... así que aquí junto unos links interesantes, donde explican claramente como funcionan dichos algoritmos:

Animación en flash: http://dvegaf.iespana.es/

1. Bubble Sort (Burbuja)
2. Selection Sort (Seleccion Directa)
3. Insertion Sort (Insercion Directa)
4. Shell Sort
5. QuickSort
6. Merge Sort

Animación en java (incluye códigos fuente): http://cg.scs.carleton.ca/~morin/misc/sortalg/
En esta página se realizan comparaciones de tiempo/eficiencia de los algoritmos, y pueden entrar para ver el applet que ejecuta los algoritmos en ese link

Aquí los códigos en java:

martes, 15 de julio de 2008

"Hello World!" en una máquina de Turing


Hello World as a Turing machine.
Extraído desde aquí.
Algo básico: Cómo una máquina de Turing escribiría la típica frasecita: "Hello World!"
Un ejemplo Kokito para empezar a entender lo que es Máquinas de Turing

Turing-Machine


State   Read      Write     Step    Next state
------------------------------------------------
1 empty H > 2
2 empty e > 3
3 empty l > 4
4 empty l > 5
5 empty o > 6
6 empty blank > 7
7 empty W > 8
8 empty o > 9
9 empty r > 10
10 empty l > 11
11 empty d > 12
12 empty ! > STOP

Y para alivianar un poco las cosas... el "Hello World!" en Java :)
Hello World! en Java

class HelloWorld{
public static void main( String args[] ){
System.out.println( "Hello World!" );
}
}

// Todo siempre desde aquí: "Hello World!" en 366+ Lenguajes de programación.

jueves, 27 de marzo de 2008

La paridad del cero (0)


Mi pregunta en concreto es: el cero es un número par?
porque, si cero dividido entre cualquier otro número es cero.
Y la propiedad de la paridad (usando la función de modularidad %) es:
Un número es par si su residuo con 2, es cero:
n % 2 == 0 ; entonces n es par.
entonces... es par, o es indeterminado? (Cómo algún profesor matemático me enseñó)
Según Java:
  1. public static void main(String[] ar)
  2. {
  3. int a=0,b=2;
  4. double r;
  5. r=Math.IEEEremainder(a,b);
  6. System.out.println(r);
  7. }

obtenemos que r = 0.0
---------------------------------------------------------------------------------

Particularmente, pretendo implementar un árbol rojo-negro (red-black tree), donde, además de ciertas características como el ser binario, y ser balanceado... utiliza colores (el rojo y el negro) para distinguir cada nivel.

entonces... Al balancear el árbol, para no complicarlo (más de lo que ya es)
mejor, al realizar los cambios, le resto (o le sumo) un 1 ...
Así, siempre que el color sea par, representará al color negro (niveles pares)
cuando el color sea impar, representa al rojo (niveles impares)

Pero (entonces) ...
el cero es un número par?

Invito a los visitantes a responder este dilema :)