Respuesta
O(log* N)
es "iterated logarithm":
En informática, el logaritmo iterado de n, registro escrito * n (por lo general leer 'estrella de registro'), es el número de veces que la función logaritmo debe ser iterativa aplicado antes de que el resultado es menor que o igual a 1.
Eso es algo realmente interesante de lo que no había oído hablar. Q + A +1 cada uno.Supongo que O (log * N) es para-todos-los-propósitos-y-propósitos O (1). Guay. – Greg
@greg, no log (n) significa que a medida que el número de elementos sube el tiempo más lentamente. p.ej. 10x tantos elementos solo hacen que la función tome 2 veces más tiempo –
Creo que lo encontré por primera vez en el análisis del algoritmo Union-Find, cuando era 'O (N log * N)' antes de que se mejorara a 'O (AN) ', donde A es la función inversa de Ackermann. Todavía no entiendo la última prueba, pero el algoritmo 'O (N log * N)' es una lectura relativamente buena. – Larry
registro * (n) - "log estrella n" como conoce como "logaritmo iterado"
En palabras simples, puede suponer log * (n) = log (log (log (..... (log * (n))))
log * (n) es muy potente.
Ejemplo:
1) Log * (n) = 5 donde n = Número de átomo en el universo
2) árbol colorear usando 3 colores se puede hacer de registro * (n) mientras que colorear los colores del Árbol 2 es suficiente, pero la complejidad será O (n).
3) Encontrar la triangulación de Delaunay de un conjunto de puntos conociendo el árbol de expansión mínimo euclidiano: tiempo O (n log * n) aleatorio.
El bit log* N
es un algoritmo iterado que crece muy lentamente, mucho más lento que solo log N
. Básicamente, simplemente mantiene 'registrando' iterativamente la respuesta hasta que está por debajo de uno (por ejemplo, log(log(log(...log(N)))
), y la cantidad de veces que tuvo que responder a log()
es la respuesta.
De todos modos, esta es una cuestión de edad de cinco años en Stackoverflow, pero ningún código Vamos a arreglar eso - aquí está implementaciones tanto para las funciones recursivas e iterativas (ambos dan el mismo resultado)? (!):
public double iteratedLogRecursive(double n, double b)
{
if (n > 1.0) {
return 1.0 + iteratedLogRecursive(Math.Log(n, b),b);
}
else return 0;
}
public int iteratedLogIterative(double n, double b)
{
int count=0;
while (n >= 1) {
n = Math.Log(n,b);
count++;
}
return count;
}
¿Cómo responde esto la pregunta? – Maroun
@MarounMaroun: He editado el comienzo de la respuesta para dar más contexto. El código es la descripción/definición que estaba pidiendo. –
- 1. ¿Qué significa O (log (log (n)))) - competitivo?
- 2. ¿Es log (n!) = Θ (n · log (n))?
- 3. Diferencia entre O (n) y O (log (n)) - ¿cuál es mejor y qué es exactamente O (log (n))?
- 4. ¿Es O (log n) siempre más rápido que O (n)
- 5. ¿Por qué está ordenando una cadena O (n log n)?
- 6. Explicación intuitiva de por qué QuickSort es n log n?
- 7. ¿Existe un término abreviado para O (n log n)?
- 8. ¿Por qué se pasa del planificador O (1) al CFS que es O (log N)?
- 9. Cómo calcular n log n = c
- 10. Big-O complejidad de c^n + n * (log n)^2 + (10 * n)^c
- 11. ¿Es posible calcular la mediana de una lista de números mejor que O (n log n)?
- 12. ¿Qué es log-likelihood?
- 13. ¿Por qué la complejidad del contenedor de mapas C++ STL O (log (n))?
- 14. ¿Qué significa "log *"?
- 15. Algoritmo para encontrar el punto especial k en el tiempo O (n log n)
- 16. ¿Cuál es la diferencia entre '\ n' o "\ n" en C++?
- 17. Encuentre un par de elementos de matriz con una suma y producto dados en O (n * log (n))
- 18. GIT Log o Commit Monitor
- 19. ¿Qué es la arquitectura N-Tier?
- 20. ¿Qué significa esto: O (n) pasos y O (1) espacio?
- 21. ¿Qué compila para un código más rápido: "n * 3" o "n + (n * 2)"?
- 22. Ejemplo de O (n!)?
- 23. ¿Cuál es el significado de O (polylog (n))? En particular, ¿cómo se define polylog (n)?
- 24. ¿Qué es la notación big-O? ¿Cómo se te ocurren figuras como O (n)?
- 25. ¿Cuál es la prueba de (N-1) + (N-2) + (N-3) + ... + 1 = N * (N-1)/2
- 26. ¿Podemos calcular esto en menos de O (n * n) ... (nlogn o n)
- 27. ¿Cómo es la complejidad de Morris Traversal o (n)?
- 28. ¿Se pueden ordenar n enteros en O (n) complejidad amortizada?
- 29. lo hace O (N) significa
- 30. ¿Por qué la burbuja ordena O (n^2)?
Dinos dónde lo encontraste –
Pregunta similar: http://stackoverflow.com/questions/2307283/what-does-olog-n-mean-exactly No hay respuesta en 'O (log * N)' desafortunadamente. – BalusC
¿Esta pregunta es sobre el * registro posterior o sobre la notación O() en general? –