• Domingo 18 de Agosto de 2019, 06:52

Autor Tema:  Analisis De Eficiencia De Algoritmos  (Leído 863 veces)

Ocean Soul

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Analisis De Eficiencia De Algoritmos
« en: Martes 13 de Septiembre de 2005, 21:59 »
0
Hola denuevo...
Les tengo una pregunta: Como calculo el tiempo exacto en funcion de n del siguiente algoritmo?

Function Rec1(n:integer):integer;
Begin
         if n<=1 then rec1:=1 else
         rec1:=rec1(n-1) + rec1(2*n);
end;

Gracias!!!

Alpha_

  • Miembro activo
  • **
  • Mensajes: 72
    • Ver Perfil
Re: Analisis De Eficiencia De Algoritmos
« Respuesta #1 en: Sábado 24 de Septiembre de 2005, 23:07 »
0
Citar
Function Rec1(n:integer):integer;
Begin
         if n<=1 then rec1:=1 else
         rec1:=rec1(n-1) + rec1(2*n);
end;
A ver.. voy a aventurarme, siempre tuve dramas con esto.

condicion = 1 + acciones
acciones = 1 o accion de asignacion = max(1, asignacion)
asignacion = costo(rec1(n-1) + rec1(2n))

Acciones = max(1, costo(rec1(n-1) + rec1(2n)) = costo(rec1(n-1) + rec1(2n))
condicion = 1 + costo(rec1(n-1) + rec1(2n))

Y entonces, en los niveles de recursividad sería:
1: 1 + rec1(n-1) + rec(2n)
2: 1 + (1 + rec1) + rec(4n)
3: 1 + (1 + 1 + rec1) + rec(6n)
...

en definitiva, tendríamos, para n: n + rec1 + rec1(n^2)
...

...hmm no. Estoy olvidadísimo de esto. Algo de por acá está mal, pero lo dejo como para que tengas una base, a ver si lográs sacarlo. Tengo que revisar unas carpetas viejas.  :blink:
Alpha
http]

¡Un error ha ocurrido!

Class 'Geshi' not found