He estado trabajando a través de una tarea reciente de informática que involucra recursividad y notación de gran O. Creo que entiendo esto bastante bien (¡sin duda no perfectamente!) Pero hay una pregunta en particular que me está dando más problemas. Lo curioso es que al mirarlo, parece ser el más simple en la tarea.Recursión y Big O
Proporcione la mejor tasa de crecimiento utilizando la notación grande-Oh para la solución a la siguiente recurrencia?
T (1) = 2
T (n) = 2T (n - 1) + 1 para n> 1
y las opciones son:
- O (log n n)
- O (n^2)
- O (2^n)
- O (n^n)
Entiendo que la O grande funciona como un límite superior, para describir la mayor cantidad de cálculos, o el tiempo de ejecución más alto, que tomará ese programa o proceso. Siento que esta recursión particular debe ser O (n), ya que, como máximo, la recursión solo se produce una vez para cada valor de n. Como n no está disponible, es mejor que eso, O (nlogn), o peor, son las otras tres opciones.
Entonces, mi pregunta es: ¿Por qué no es esto O (n)?
Lo seguí leyendo como "T (1) = (2 T (n))", pero creo que significaba "T (1) = 2 y T (n) = [...]". ¿Correcto? –
¿Puedes poner cada cláusula en una nueva línea? – leppie
Sí, porque como lo leí en este momento, los resultados van: 2, 5, 11, 23, etc ... – Powerlord