Para especificar completamente la recursión, debe decir cuál es la base. Asumiré que la base es [matemática] T (1) = c [/ matemática] donde c es una constante positiva. Por simplicidad, supondré que N es una potencia de 2. Ie [matemáticas] N = 2 ^ k [/ matemáticas] para algún entero positivo k. Primero, dibuje el árbol y etiquete cada nodo con el tamaño del problema.
El tamaño del problema en el nivel inferior es simplemente 1 (ya que [matemática] N = 2 ^ k [/ matemática]). La cantidad de trabajo realizado en cada nodo de nivel inferior es solo la constante [matemática] c [/ matemática]. La cantidad de trabajo realizado en cada nodo interno es el cuadrado del tamaño del problema (esto se deduce directamente del término [matemática] + N ^ 2 [/ matemática] de la recurrencia). El tamaño del problema se divide por 2 para cada nivel sucesivo y el número de nodos se multiplica por 3 para cada nivel sucesivo. El total para el nivel inferior es solo [matemáticas] 3 ^ k * c = 3 ^ (lg n) c = n ^ (lg 3) c [/ matemáticas] donde la base del registro es 2. El total para el resto del árbol es la suma, de i = 0 a i = k-1, de [matemáticas] (3 ^ i (N / 2 ^ i) ^ 2) [/ matemáticas]. Puede factorizar la [matemática] N ^ 2 [/ matemática] de cada término de la suma. Puede escribir el resto de la suma como una serie geométrica que debe estar delimitada por una constante (ya que una secuencia geométrica infinita se evalúa como una constante). [math] N ^ 2 [/ math] domina el término [math] N ^ (lg 3) [/ math] para el nivel inferior, por lo que la recurrencia se evalúa como theta grande de [math] N ^ 2. [/ math]
- ¿Puedo aprender algoritmos en mis vacaciones de verano si doy 8-10 horas cada día?
- ¿De dónde debo aprender los algoritmos de aprendizaje automático?
- ¿Cuál es el algoritmo para integrar una función usando un programa de computadora?
- ¿Cuáles son las limitaciones de los árboles de búsqueda binarios?
- ¿Qué tipo de algoritmo de localización utilizan generalmente los misiles de crucero?