Me gustaría saber en qué complejidad de tiempo estoy atravesando mi objeto JS anidado. Para atravesar el objeto JS, estoy usando tres bucles for anidados, por ejemplo
Bosquejo del For-Loop:
for(const page in object){ for(const group in page){ for(element in elements){ } } }Necesito visitar cada elemento de cada elemento para cada grupo que tiene una página.
Objeto JS:
{ "Page 1":{ "Group 1": { "Elements": [ "Element 1", ] }, "Group 2": { "Elements": [ "Element 1" ] } }, "Page 2":{ "Group 1": { "Elements": [ "Element 1", "Element 2" ] } }}
¿Es O (n) debido al hecho de que estoy visitando cada elemento solo una vez?
La complejidad es O(P+G+E) donde
En la práctica, esto es equivalente a O(E), pero si tuviera páginas vacías y/o grupos vacíos (sin elementos), entonces P o G podrían ser mayores que E, y entonces es importante hablar de O( P+G+E).
Sin embargo, si se garantiza que cada página tiene al menos un grupo, y cada grupo tiene al menos un elemento, entonces E es el mayor entre (P, G, E), por lo que O(P+G+E) = O( MI).