2009
12.30
Ahora que ya sabemos como representar grafos, probablemente lo que queramos hacer es recorerlos.
Una de las formas más básicas de recorrer un grafo es el DFS (Depth First Search) que se traduce como Búsqueda en Profundidad; y básicamente eso es lo que hace, dado un grafo, parte de un nodo inicial y lo recorre de la siguiente manera:
Read More >>
2009
12.28
Vi esta imagen y simplemente me quede sin palabras…

2009
12.27
Hoy les voy a hablar un poco sobre la Teoría de Grafos, en esta pequeña introducción veremos básicamente 2 formas para representar grafos. Como ya sabemos un grafo se define como un conjunto, no vacío, de objetos llamados vértices (o nodos) y una selección de pares de vértices, llamados aristas (edges en inglés) que pueden poseer una dirección o no. Típicamente, un grafo se representa mediante una serie de puntos (los vértices) conectados por líneas (las aristas).
Read More >>
2009
12.03
Mi lector de DVD murió y tenia algunas imagenes de DVD que necesitaba cargar y caí en cuenta de que no conosco ningun programa para linux que haga la tarea de cread una unidad virtual por mi; así que observando lo facil que era realizar esto decidi hacer un pequeño pequeñisimo script que me facilitara la vida.
Lo primero es crear la carpeta en donde queramos q se monte la imagen (*.iso):
user@computer:$ mkdir /media/iso
Lo siguiente será crear un archivo con cualquier editor de texto y agregar el siguiente script; para el ejemplo el archivo se llamará IsoMount:
#! /bin/bash
sudo mount -o loop -t iso9660 $1 /media/iso
Read More >>
2009
12.02
Tengo 7 invitaciones para google wave.
Si alguien necesita deje su e-mail en los comentarios
PD: Recuerden que google toma su tiempo para mandar las invitaciones, asi que no se desesperen.
2009
12.01
Si algo bueno tiene C# es la facilidad con la que se pueden hacer las cosas; así a muchos les duela, este es un lenguaje en el cual el programador se debe preocupar por su algoritmo y no por como carajos implementarlo.
Aquí les dejo un sencillo ejemplo sobre como utilizar Threads en C#…. así o mas fácil!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace Thread_Sample
{
class Program
{
private Thread th1;
private Thread th2;
private int numero = 0;
Program()
{
th1 = new Thread(new ParameterizedThreadStart(contador));
th2 = new Thread(new ParameterizedThreadStart(contador));
}
public void run()
{
for (int i = 0; i < 2; i++)
{
if (i == 0)
{
th1.Start(0);
}
else
{
th2.Start(1);
}
}
//Whait for the threads to live (start)
while (!th1.IsAlive && !th2.IsAlive);
//Wait for the threads to die (end)
while (th1.IsAlive && th2.IsAlive);
}
public void contador(object obj)
{
int i = (int)(obj);
for (int j = 0; j < 50; j++)
{
if (i == 0)
{
numero++;
Console.WriteLine("Thread 0: " + numero);
Thread.Sleep(100); //For you to see the procces
}
else
{
numero++;
Console.WriteLine("Thread 1: " + numero);
Thread.Sleep(100); //For you to see the procces
}
}
}
static void Main(string[] args)
{
Program p = new Program();
p.run();
Console.WriteLine("Ya termino el programa");
Console.Read();
}
}
}