El método de Shell es una versión mejorada delmétodo de inserción.El nombre de Método Shell lo recibe en honor a sucreador...
Es un algoritmo de ordenación interna, se basa encomparaciones e intercambios aunque también puederealizar ordenación exte...
Paso 1:    9   8   7   6   5   4   3   2   1   0   id=id+1/2=5Paso 2 :   4   3   2   1   0   9   8   7   6   5   id=id+1/2...
Paso 4 :   1   0   2   4   3   6   5   7   9   8   id=id+1/2=1Paso 4 :   1   0   2   4   3   6   5   7   8   9   id=id+1/2...
Shell (n,x)      Id = nidn =(int) (id +1) /2      b=i=0
j = n – i -1 k = j - idn               si   tmp = x (k) x(k)>               x (k) = x(j)  x(j)               x(j) = tmp   ...
id=idn b=0idn = 1  FIN
#include "librerias.h"void sort_shell(double *m,int n){           int incr=n/2,p,j;           double tmp;           do{   ...
YURY KARINA GUERRERO
Próxima SlideShare
Cargando en…5
×

Expo metodo de ordenamiento shell

174 visualizaciones

Publicado el

  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Expo metodo de ordenamiento shell

  1. 1. El método de Shell es una versión mejorada delmétodo de inserción.El nombre de Método Shell lo recibe en honor a sucreador, Donald L. Shell.Shell lo propuso por primera vez en 1959 en unapublicación en la revista Comunications of the ACM..
  2. 2. Es un algoritmo de ordenación interna, se basa encomparaciones e intercambios aunque también puederealizar ordenación externa.Consiste en la disminución de saltos al ir comparandolos elementos e intercambiar los mismoscontinuamente hasta llegar al arreglo solicitado.Es considerado uno de los métodos mas eficientesaunque menos ocupado que otros.
  3. 3. Paso 1: 9 8 7 6 5 4 3 2 1 0 id=id+1/2=5Paso 2 : 4 3 2 1 0 9 8 7 6 5 id=id+1/2=3Paso 2 : 4 3 2 1 0 6 5 7 9 8 id=id+1/2=3Paso 2 : 4 0 2 1 3 6 5 7 9 8 id=id+1/2=3Paso 3 : 1 0 2 4 3 6 5 7 9 8 id=id+1/2=2
  4. 4. Paso 4 : 1 0 2 4 3 6 5 7 9 8 id=id+1/2=1Paso 4 : 1 0 2 4 3 6 5 7 8 9 id=id+1/2=1Paso 4 : 1 0 2 4 3 5 6 7 8 9 id=id+1/2=1Paso 4 : 1 0 2 3 4 5 6 7 8 9 id=id+1/2=1Paso 5 : 0 1 2 3 4 5 6 7 8 9
  5. 5. Shell (n,x) Id = nidn =(int) (id +1) /2 b=i=0
  6. 6. j = n – i -1 k = j - idn si tmp = x (k) x(k)> x (k) = x(j) x(j) x(j) = tmp i=i+1 b=b+1 k>0
  7. 7. id=idn b=0idn = 1 FIN
  8. 8. #include "librerias.h"void sort_shell(double *m,int n){ int incr=n/2,p,j; double tmp; do{ for(p=incr+1;p<n;p++) { tmp=m[p]; j=p.incr; While((j>=0) && (tmp<m[j]; { m(j+incr)=[j]; j.=incr; } m[j+incr]=tmp; } incr/=2; } while(incr>0);}
  9. 9. YURY KARINA GUERRERO

×