Problema complejidades #83
-
Hola, estoy tratando de pensar cómo hacer la parte de Happiness, pero estoy teniendo problemas con la complejidad que se pide. Se supone que si se hace una actualización de un valor, si es un MIN heap, hay que revisar hacia arriba si es que el valor es menor que el padre (algo asi como siftup), pero el problema es que eso sería O(log(n)) + O(n) para encontrar el nodo, y me pasaría de la complejidad. Tal vez no estoy pensando bien la estructura a utilizar? Si me pudieran ayudar lo agradeceria mucho! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Holaa @IgnacioHqz. Tal y como mencionas, la complejidad del siftup es O(log(n)), con lo que la complejidad total del evento quedaría en O(log(n)+n). Pero recuerda que cuando trabajamos con notación Big-O, nos enfocamos en el término que crece más rápido a medida que el tamaño de n aumenta. En este caso, el término O(n) crece mucho más rápido que O(log(n)) para un n muy grande, por lo que O(log(n)+n) se simplifica a O(n). |
Beta Was this translation helpful? Give feedback.
Holaa @IgnacioHqz. Tal y como mencionas, la complejidad del siftup es O(log(n)), con lo que la complejidad total del evento quedaría en O(log(n)+n). Pero recuerda que cuando trabajamos con notación Big-O, nos enfocamos en el término que crece más rápido a medida que el tamaño de n aumenta. En este caso, el término O(n) crece mucho más rápido que O(log(n)) para un n muy grande, por lo que O(log(n)+n) se simplifica a O(n).