hola!!! a todos , les quiero mostrar como realice una tabla de Hash en C, pues les traigo una tabla de Hash cerrada y una tabla de Hash abierta. Una tabla de Hash es un algoritmo que permite dispersar una serie de datos en posiciones distintas y aleatorias ( en el caso de una tabla cerrada) y aleatorias ( en el caso de una tabla abierta).
Aqui les muestro un poco de lo que veran en el programa, que es multiplataforma, ( funciona en MAC,WINDOWS, LINUX) espero que sea de ayuda para ustedes.
Aqui unas fotos de muestra del programa.
Tabla de Hash cerrada
Tabla de Hash abierta
Espero que les guste este aporte, cualquier duda, me encuentro a la orden.
para descargar ---> https://www.sugarsync.com/pf/D6590673_7620686_788551
Hola, les voy a hablar un poco del algoritmo de ordenamiento por Inserción, para ello primero debemos saber un poco que es un algoritmo de ordenamiento, es un algoritmo que permite ordenar una lista o un vector, por una serie de parámetros.
El algoritmo por inserción es un algoritmo que consiste en ordenar datos de menor a mayor comparando los datos uno a uno y almacenando los datos en memoria para seguir el recorrido.
Un ejemplo utilizado para describir el funcionamiento de este algoritmo de ordenamiento es el método que normalmente es aplicado por un jugador de cartas, para organizarlas en su mano, agarra la de menor denominación y la coloca en la izquierda, luego observa la de al lado y si es de de mayor denominación que la de su derecha la intercambia y así sucesivamente, hasta conseguir ordenar su mano de menor a mayor.
Organizar unas Cartas por Inserción
Para simular esto en un programa necesitamos tener en cuenta algo, no podemos desplazar los elementos sin guardarlo ya que se perderá un elemento. Lo que hacemos es guardar una copia del elemento actual y desplazar todos los elementos mayores hacia la derecha. Luego copiamos el
elemento guardado en la posición del último elemento que se desplazó.
Ejemplo de Inserción
El código representado en el lenguaje de programación C, manejando con arreglos , es de esta forma:
void Insercion(int arreglo[n])
{
int i, x, auxiliar;
for (i=1; i < n; i++)
{
auxiliar = arreglo[i];
for (x=i-1; x >= 0 && arreglo[x] > aux; x--)
{
arreglo[x + 1] = arreglo[x];
}
arreglo[x+1] = auxiliar;
}
}
El código representado en el lenguaje de programación C, manejando con listas , es de esta forma:
void Insercion( _lista lista)
{
int j,I;
_lista auxiliar;
for (i=1; i<n; i++)
{
auxiliar = lista[i];
j = i - 1;
while ( (lista[j] > auxiliar) && (j >= 0) )
{
lista[j+1] = lista[j];
j--;
}
lista[j+1] = auxiliar;
}
}
Aquí encontraran un ejemplo del recorrido del algoritmo de ordenamiento (Una corrida en Frió);
Corrida en Frió Inserción (primera llamada)
Corrida en Frió Inserción (Segunda llamada)
Espero que les sea de utilidad dicha información, cualquier duda me encuentro a la orden, saludos!...