¿Qué es la recurrencia en análisis de diseño y algoritmos?

Una relación de recurrencia cuando diseñamos algoritmos típicamente (la mayoría de las veces) es una función de crecimiento que representa el tiempo de ejecución del algoritmo con respecto al tamaño de entrada para un tipo particular de análisis (por ejemplo, el peor de los casos). Usualmente lo formulamos como una función que se escribe en términos de sí misma (caso recursivo) y un valor constante cuando la entrada es pequeña (caso base).

Algo así como [matemática] T (n) = T (n / 2) + 1 [/ matemática] cuando [matemática] n> 1 [/ matemática], [matemática] T (1) = 1 [/ matemática] podría representar el tiempo de ejecución de un algoritmo como la búsqueda binaria en el peor de los casos. Lo llamamos recurrencia porque se define por sí mismo, recursivamente. Esto ocurre con mucha frecuencia en el análisis de los algoritmos Divide and Conquer.

Las recurrencias no solo ocurren dentro del contexto de nuestro campo, y se estudian ampliamente en todas las disciplinas matemáticas y más allá.

Para obtener más información, consulte Relación de recurrencia – Wikipedia.

More Interesting

Cómo encontrar el número de subárboles izquierdo y derecho de un árbol binario

¿Qué tan importante es el DS y Algo?

¿Puedes explicar la prueba del postulado de Bertrand a un completo idiota?

¿Qué estructuras de datos y algoritmos son esenciales en un curso de pregrado en Ciencias de la Computación?

¿Cómo mantiene Google en secreto su algoritmo de sus empleados cuando son sus empleados quienes lo prueban?

¿Es correcto mi nuevo estado de ánimo? Ingresé a la programación desde un punto de vista de programación algorítmica y, como tal, tengo una inclinación a querer saber cómo funcionan las cosas debajo. Pero ahora, después de un tiempo en el mundo de los desarrolladores, finalmente tengo que darme cuenta de que se trata menos de eso. ¿Lo que usted dice?

Cómo implementar un algoritmo C4.5 usando MATLAB

¿Alguien puede ayudarme a entender cómo funciona este código?

¿Existe algún vínculo en los algoritmos o técnicas de estructura de datos más utilizados en la programación competitiva?

¿Cuáles son las diferencias entre DFS y BFS?

¿Existe un libro que enseñe algoritmos, estructuras de datos y otros conceptos básicos de informática de una manera divertida?

¿Qué es el recorrido del árbol y por qué los necesita?

¿Cómo asigno enteros de o a n en una matriz bidimensional en Java?

Cómo demostrar la corrección de un algoritmo de búsqueda lineal para el ejercicio 2.1-3 en CLRS

¿Cuáles son las principales diferencias en términos de definición / idea clave, dominio de aplicación y eficiencia entre árboles de segmento, árboles de intervalo, árboles indexados binarios y árboles de rango?