¿Por qué el costo amortizado de las operaciones n add (k) es log (k)?

El costo amortizado solo tiene sentido sobre cierto conjunto de operaciones.

Por ejemplo, si el costo de realizar n operaciones es nlog (n), entonces el costo amortizado * de cada operación * es log (n). No hay aceleración mágica, solo un cambio de las unidades que usas para describir el tiempo.

Si está buscando agregar a un árbol, entonces el costo de agregar un artículo podría ser log (k) si k es el número de artículos en el árbol y el árbol está equilibrado

Como comentario adicional, tenga en cuenta que el registro aquí para un árbol binario representaría el registro base 2 en lugar del registro normal basado en 10. Matemáticamente, no importa cuál elija porque difieren en una constante y, por lo tanto, son equivalentes, pero log 2 (k ) señala mejor la derivación.

En su ejemplo, agregar k a un contador es en realidad O (1), no O (k), por lo que hacer esto n veces podría expresarse como O (n) u O (1) costo amortizado por artículo sobre n artículos, aunque la segunda descripción sería un poco tonta en este caso porque no hay necesidad de lidiar con costos variables.

No lo es? A menos que k esté haciendo algo más que la simple suma de enteros, este algoritmo es el libro de texto O (n), siendo k irrelevante.

More Interesting

Proyectos teóricos de informática o desarrollo de aplicaciones, ¿qué le sugerirías a los estudiantes de primer año de informática?

¿Hay ejemplos fractales que usen entradas aleatorias externas de alguna manera en las iteraciones?

¿Qué es una prueba intuitiva de que las redes neuronales recurrentes pueden calcular cualquier función computable por una máquina Turing?

¿Qué tan buena o mala es una idea para comenzar un doctorado teórico de CS a la edad de 27 años?

¿Cómo escribiría una función que encuentre la entrada máxima n tal que f (n) <c en el tiempo O (lg n)?

¿Cuál es la diferencia entre un algoritmo O (1) y O (k), donde k es una constante?

Cómo resolver problemas sobre el análisis de algoritmos paso a paso

¿Por qué las matemáticas son mucho más difíciles que la programación?

¿Practicar las matemáticas es bueno para la programación competitiva?

En matemáticas y ciencias de la computación, ¿cuál es / hay una diferencia entre las funciones calculables y computables?

¿Existe un tipo de conjunto que se define al tener un elemento de tipo 'otro' para el resto del conjunto?

Recientemente he entregado mis tableros (12) y quiero hacer una mecánica BTech. Espero 85% en tableros, pero estoy seguro de que no romperé el avance de IIT. ¿Qué debo hacer, dejar un año y tomar clases de IIT o elegir la universidad solo este año? ¿Es seguro dejar caer un año?

¿Por qué P no es igual a NP es tan difícil de probar?

¿Existe un término en matemáticas como 'real-complete' para describir una función que mapea todos los elementos de un conjunto (número real por ejemplo) a otro conjunto, o 'posibilidad-completa' para describir un algoritmo que maneja todas las posibilidades de entrada? ?

Cómo calcular el número de subsecuencias distintas de una palabra dada de una longitud dada