Quel est le pire scénario de déclaration d'un tableau 2D? Le tableau 2d n'est pas strictement carré. J'ai vu des réponses qui indiquent qu'il est O (n) et j'ai aussi vu des réponses qui indiquent son O (n²).Quelle est la complexité temporelle de la déclaration d'un tableau 2D?
Dans mon esprit, lors de la déclaration d'un tableau d'objets comme celui-ci:
Object[][] gridArray = new Object[i][j];
//The number of elements n = i*j
La complexité du temps lors de la déclaration du tableau doit être O (n) car elle échelle juste en fonction de façon linéaire sur le nombre d'éléments il y aura être. Est-ce que je manque quelque chose?
Cela dépend entièrement de la langue que vous n'avez pas mentionnée. Votre code ressemble à Java. L'allocation de la mémoire en Java (sous des hypothèses raisonnables) prend un temps constant, mais c'est discutable parce que mettre toutes les valeurs à 'null' - ce que le langage requiert - nécessite O (i * j). C 'malloc' et C++ par défaut' new' prendront un temps constant car ils n'initialisent pas l'espace alloué. – Gene
Notez que * déclarer * un tableau est une opération O (1). C'est * allouer * le tableau qui peut prendre du temps variable. –