Red de conocimiento informático - Problemas con los teléfonos móviles - Programación estadística

Programación estadística

Verá, la complejidad de su código recursivo es O (2 n) y la segunda complejidad es O (n). La eficiencia operativa es, por supuesto, diferente. contador = 0.

Definir fibra(n):

Contador global

Contador = 1

Si n == 0:

Devolver 1

elif n == 1:

Devolver 1

En caso contrario:

Devolver fibn(n-1) fibn (n-2)

Estadísticas = []

Para I(35) en el rango:

Contador = 0

fibn ( i 1)

estadísticas . append((I 1), COUNTER))

Imprimir estadísticas [(1, 1), (2, 3), (3, 5), (4,9), (5,15), (6,25), (7,41), (8,67), (9,109), (10,177), (1177), (1, 287), (12 , 465

Importar pstats

Definir fibra(n):

Si n == 0:

Devuelve 1

elif n == 1:

Devuelve 1

En caso contrario:

Devuelve fibn(n-1) fibn(n -2)

Imprimir 'i,llamada,hora'

Para I(50) en el rango:

pr = cProfile()

pr.enable ()

fibn(一)

pr.disable()

stats = pstats.

stats.strip_dirs()

ST = stats . stats[(' prueba 1 . py ', 3, ' fibn')]

Imprimir ' 3d, 10d, 8f' (i, st[1], st [3])

Yo, llamo, hora 0, 1, 0.000000 1, 1, 0.000001 2, 3, 0.000003 3, 5, 0.000005 4, 9, 0.0000008 5, 15, 0.0000012 6, 25, 0,00000025 0,212390 26, 392835, 0,352861 27, 635621, 0,578204 28, 1028457, 0,987839 29, 1 664079, 1,506812 30, 2692537. 682802 31, 435617, 3.9993632, 7049155, 8.041933, 11405773, 13.05235 65438.