ALGORITMOS DISTRIBUCION ESTRUCTURA DATOS C#

Todo sobre Apple, Mac e Iphone Noticias sobre apple,mac, osx, iphone,ipad,apple watch, juegos para mac y appletv

 

Algoritmos de ordenamiento por distribución

La ordenación y la búsqueda son operaciones fundamentales en informática. La ordenación se refiere a la operación de organizar datos en algún orden dado, tal como creciente o decreciente para datos numéricos o alfabéticamente para datos de caracteres. La búsqueda se refiere a la operación de encontrar la posición de un ítem dado de entre un conjunto de ítems.

Existen muchos algoritmos de ordenación y búsqueda. En particular, el algoritmo que uno elija dependerá de las propiedades de los datos y de las operaciones que se desee realizar sobre los datos. De acuerdo con esto, queremos saber la complejidad de cada algoritmo; o sea, queremos saber el tiempo de ejecución f(n) de cada algoritmo como una función del número n de elementos de entrada.

Distribución simple

Este algoritmo tiene la siguiente metodología: Ordena el vector tomando cada número e insertándolo en la posición que toma su valor, es decir, tengo un cinco en el arreglo; lo pongo en la posición cinco, algo así como: "lo que valgas en esa posición te pongo". Por supuesto, no se podrán ordenar los arreglos que tengan valores repetidos y el vector necesita estar del tamaño del número más grande que se encuentre en él.

Principios de distribución

Cuando los datos tienen ciertas características como por ejemplo estar dentro de determinado rango y no haber elementos repetidos, pueden aprovecharse estas características para colocar un elemento en su lugar, por ejemplo:

Origen 0 1 2 3 4 5 6 7 8 9 7 1 3 0 4 2 6 5 8 9

Destino

0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9

A continuación se presenta el código para cambiar los valores del Origen al Destino:

for(int x=0; xsig=nuevo; fin=nuevo; } for(i=0,p=0; iinfo; p++; ini=nuevo->sig; delete nuevo; nuevo=ini; } } } 

¿Que hacer cuando el rango de los valores que queremos ordenar es de 100 a 999?

Aplicar urnas simples tantas veces como dígitos tenga el mayor de los números a ordenar. Para la ordenación se hará de la siguiente manera: En la primera pasada se tomará en consideración el digito menos significativo (unidades), en la siguiente vuelta se tomará el siguiente digito hasta terminar (Decenas, Centena,…).

void main() { for(cont=1; cont 
ALGORITMOS DISTRIBUCION ESTRUCTURA DATOS C#

MÁS INFORMACIÓN

El contenido original se encuentra en https://programacionfacil.com/estructura_datos_csharp/algoritmos_distribucion/
Todos los derechos reservados para el autor del contenido original (en el enlace de la linea superior)
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail bitelchux@yahoo.es y retiraremos este contenido inmediatamente