Blog de Investigación & Desarrollo (R&D) académico-universitaria en la carrera de Ciencia de la Computación, en la escuela de Informática de la Universidad Nacional de Trujillo - Trujillo, Perú
No existen imposibles... tan sólo existen NP's
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:
{ int a=0,b=2; double r; }
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 :)
Etiquetas:
algoritmia,
Arboles,
Demostraciones,
dilemas,
Estructura de datos,
filosofando,
Matematicas
Suscribirse a:
Entradas (Atom)