Cómo resolver la recurrencia t (n) = 2t (n / 2) + n / logn

Si desea aplicar el Teorema maestro, deberá resolver el término n / log (n), esto se explica bien aquí: Teorema maestro: T (n) = 2T (n / 2) + n / log n =? Pensé que la respuesta sería Θ (nlogn), pero la solución dice que el Teorema maestro no se aplica.

Dependiendo de lo apretado que quieras tus asintóticos, pensé en intervenir para darte un enfoque burdo pero simple para manejar esto, aunque no podrás decir que es un límite Big-Theta. De ninguna manera afirmo que este es el límite más estricto posible , pero a menudo encuentro que las personas se vuelven muy estrechas cuando se trata del Master Theorem y su aplicabilidad (tanto de aquellos que abusan de sus condiciones como de aquellos que simplemente lo notan) No aplique directamente, simplemente deténgase). Puede formar una recurrencia diferente que se aplique a ella, luego usar las propiedades de la recurrencia para decir cosas sobre la original. Solo quería usar mi respuesta para mostrarte cómo aún puedes usar el Teorema Maestro para obtener algunos límites.

Primero, [matemáticas] n / log {n} \ en O (n) [/ matemáticas]. Te dejaré convencerte de ese hecho probándolo en tu propio tiempo. Ahora, eso significa que si reescribe la recurrencia como una nueva donde la reemplazamos con el término lineal, obtenemos un límite Big-Oh.

Sea [math] T_2 (n) = 2T_2 (n / 2) + n [/ math], donde [math] T (1) = 1 [/ math].

Ahora puede aplicar el teorema maestro a [matemáticas] T_2 (n) [/ matemáticas]. Obtendrá esa [matemática] T_2 (n) \ in \ Theta (n \ log_2 {n}) [/ math].

De esto por las propiedades de las recurrencias [matemáticas] t (n) [/ matemáticas] y [matemáticas] T_2 (n) [/ matemáticas], [matemáticas] t (n) \ en O (n \ log {n}) [/mates].

A continuación, observe que [matemáticas] n / \ sqrt {n} \ en O (n / \ log {n}) [/ matemáticas] y [matemáticas] n / \ sqrt {n} = \ sqrt {n}. [/ matemática] Así que ahora vincularemos desde abajo asintóticamente la recurrencia [math] t (n) [/ math].

Ahora puede formular una nueva recurrencia (nuevamente), [matemática] T_3 (n) = 2 T_3 (n / 2) + \ sqrt {n}. [/ Matemática] Esto también puede aplicarse al Teorema Maestro, y usted obtendrá esa [matemática] T_3 (n) \ in \ Theta (n) [/ matemática].

Por lo tanto, puede concluir que [math] t (n) \ in \ Omega (n) [/ math] y [math] t (n) \ in O (n \ log {n}) [/ math]. Esto significa que el comportamiento asintótico de [math] t (n) [/ math] está entre estos dos.

No aplica el teorema maestro debido a la diferencia no polinómica entre f (n) yn log_b (a).

T (n) = 2T (n / 2) + n / log n

trabajar en root = n / logn

trabajar en hojas = n ^ logb ^ a = n ^ lob2 ^ 2 = n ^ 1 = n

(diferencia no polinómica entre f (n) yn log_b (a) que es:

= n / logn / (n) = n ^ 2 / logn

La diferencia polinómica debe ser como:

f (n) / n log_b (a) == n ^ c

No estoy seguro de si esto está bien o mal, corrígeme si está mal.

La pregunta se basa en el teorema del maestro.

La solución es algo como esto

Para referencias

PD: favor de votar si he malinterpretado la pregunta, y por favor lea los comentarios, hay un pequeño cambio.

Gracias

More Interesting

¿Hay algún algoritmo de corrector ortográfico de aprendizaje no supervisado?

¿Por qué no usamos el aprendizaje automático para mejorar los modelos climáticos?

Cómo elegir un elemento único de una lista dentro de un bucle en R

¿Qué necesitas saber para aprender algoritmos? Probé los algoritmos gratuitos de Coursera y el curso de estructuras de datos de Princeton y me perdí por completo.

¿Por qué no puedo resolver mi Cubo de Rubik de 4 x 4 x 4 como un cubo de Rubik de 3 x 3 x 3 si ya he hecho los centros y los bordes?

¿Cuál es el algoritmo detrás de Facebook Newsfeed?

¿Cuáles son los actos que se consideran hacer trampa durante un desafío de contratación en Interviewstreet?

¿Cuáles son los algoritmos necesarios para resolver todos los problemas (usando C ++) en cualquier concurso de codificación competitivo?

¿Por qué el aprendizaje profundo requiere la construcción de modelos de datos generativos?

¿Cómo se puede calcular su edad en días? Necesito el algoritmo más simplificado para resolverlo.

¿Es posible encontrar la distancia del vértice más alejada del vértice inicial mediante la solución iterativa de DFS para un árbol (NO un gráfico genérico)?

¿Cuál es la necesidad de estructuras de datos? ¿Por qué aprendemos estructuras de datos y algoritmos?

¿Qué algoritmos de máquina requieren escala / normalización de datos?

¿Cuáles son algunos de los algoritmos comunes y estrategias de diseño utilizados por los desarrolladores de juegos sin fin?

¿Qué es mejor si necesito elegir un camino para mi carrera, algoritmos y estructuras de datos, o tecnologías de big data, en las que estoy trabajando actualmente?