Pascal/Turbo Pascal - Como demostrar que método de ordenamiento es mas rápido

 
Vista:
sin imagen de perfil

Como demostrar que método de ordenamiento es mas rápido

Publicado por Allen (8 intervenciones) el 06/05/2014 22:33:11
Buenas tardes, días o noches, bueno, quisiera saber como puedo demostrar que el método de ordenamiento "Quicksort" es mas rápido que los métodos "Shell" y "Burbuja", así como también demostrar que el de "Burbuja" es el mas lento de los otros dos ya mencionados. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Como demostrar que método de ordenamiento es mas rápido

Publicado por Pico (5 intervenciones) el 07/05/2014 18:44:09
Ejecuta cada uno un millón de veces y cuentas lo que tarda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como demostrar que método de ordenamiento es mas rápido

Publicado por ramon (2158 intervenciones) el 09/05/2014 01:17:15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
{Mira esto te dará una idea}
 
program time;
 uses
   crt, dos;
  type
   string12 = string[12];
 
  var
    h, m, s, ds : word;
    h1, m1, s1, ds1 : word;
    numeros : array[1..3000] of integer;
 
 
  procedure ponvalores;
  var
   num, i : integer;
   begin
     randomize;
     i := 1;
    repeat
      num := random(5000) + 1;
      numeros[i] := num;
      i := i + 1;
    until i > 3000;
  end;
 
  procedure ordena;
  var
    temp : integer;
    t,u : integer;
   begin
      for t := 1 to 3000 do
       for u := 3000 downto t + 1 do
       if numeros[t] > numeros[u] then
       begin
          temp := numeros[t];
          numeros[t] := numeros[u];
          numeros[u] := temp;
       end;
   end;
 
 
  procedure hora(var h0, m0, s0, ds0 : word);
  var
    regs : registers;
    hh : string[2];
    reloj : string[12];
    mm, ss, dss : string[2];
    begin
       regs.ah := $2c;
       msdos(regs);
       h0 := regs.ch;
       m0 := regs.cl;
       s0 := regs.dh;
       ds0 := regs.dl;
    end;
 
   begin
      clrscr;
      ponvalores;
      hora(h,m,s,ds);
      write('   Inocio ','   : ',h,':',m,':',s,':',ds);
      ordena;
      writeln;
      hora(h1,m1,s1,ds1);
      write('   Final  ','   : ',h1,':',m1,':',s1,':',ds1);
      writeln;
      write('   Transcurrido :',s1 - s,':',ds1 - ds,' Milisegundos');
      readkey;
   end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar