Complejidad P3 #150
-
Holaa, en la pregunta 3 se pide una complejidad O(MK), siendo M el largo de cada subárbol buscado y K el número de consultas. Esto me parece extraño, porque 1) M es variable, entonces para la complejidad ¿elijo el M más grande? ¿O debe revisarse consulta por consulta? 2) En algún momento va a ser necesario recorrer el árbol completo ¿No? Como la cantidad de nodos de este árbol es N, va a haber al menos 1 operación escrita en términos de O(n), entonces, ¿Cómo puedo revisar que esto esté dentro del margen de complejidad O(MK)? Considerando que solo sé que M <= N. En esencia (creo que ya lo habían preguntado igual, pero no hay respuesta todavía), ¿La complejidad no depende de N más que de M? ¿Cómo puedo pasar de N a M? Gracias de antemano. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Eso quiere decir que el tiempo de búsqueda tiene complejidad
Sí, aunque la complejidad que nos enfocamos es la búsqueda. Todo el programa debería ser
La idea es enfocarse en la búsqueda al final. Los tests de la parte 3 tratan de enfocarse más en |
Beta Was this translation helpful? Give feedback.
Se asume que la tabla de hash es suficientemente grande para que las colisiones sean despreciables (no es necesario un número taaan grande para acercarse a eso). Un hash perfecto (difícil en la práctica) lega a ese$O(M)$ sin nada más. Nota que también se ignora iterar por todas las posiciones. Entonces, la complejidad aún más "real" que esperamos es más como
Porque se tienen que mostrar los$R$ resultados y se tienen que saltar las $S$ colisiones que hay en una tabla de hash de tamaño $T$ .…