Articles of big o

Qu’est-ce qui causerait un algorithme à la complexité O (log log n)?

Cette question précédente aborde certains des facteurs qui pourraient amener un algorithme à avoir une complexité O (log n). Qu’est-ce qui ferait qu’un algorithme aurait une complexité temporelle O (log log n)?

Les tables de hachage peuvent-elles vraiment être O (1)?

Il semble être de notoriété publique que les tables de hachage peuvent atteindre O (1), mais cela n’a jamais eu de sens pour moi. Quelqu’un peut-il l’expliquer s’il vous plaît? Voici deux situations qui me viennent à l’esprit: A. La valeur est un int inférieur à la taille de la table de hachage. Par conséquent, […]

Que signifie «temps d’access O (1)»?

J’ai vu ce terme “temps d’access O (1)” signifierait “rapidement” mais je ne comprends pas ce que cela signifie. L’autre terme que je vois dans le même contexte est “O (n) access time”. Quelqu’un pourrait-il expliquer de manière simple ce que ces termes signifient? Voir également Qu’est-ce que la notation Big O? L’utilisez vous? Big-O […]

Qu’est-ce qui ferait qu’un algorithme aurait la complexité O (log n)?

Ma connaissance des big-O est limitée et lorsque les termes du journal apparaissent dans l’équation, cela me désarçonne encore plus. Quelqu’un peut-il m’expliquer en termes simples ce qu’est un algorithme O(log n) ? D’où vient le logarithme? Cela a été soulevé lorsque j’ai essayé de résoudre cette question de pratique à mi-parcours: Soient X (1..n) […]

Bénéfice maximum de vente unique

Supposons qu’on nous donne un tableau de n nombres entiers représentant les cours des actions sur une seule journée. Nous voulons trouver une paire (buyDay, sellDay) , avec buyDay ≤ sellDay , de sorte que si nous achetions les actions sur buyDay et les vendions sur sellDay , nous maximiserions notre profit. Clairement, il existe […]

Est-ce techniquement un algorithme O (1) pour “Hello World”?

Serait-ce classé comme un algorithme O (1) pour “Hello, World!” ?? public class Hello1 { public static void Main() { DateTime TwentyYearsLater = new DateTime(2035,01,01); while ( DateTime.Now < TwentyYearsLater ) { System.Console.WriteLine("It's still not time to print the hello …"); } System.Console.WriteLine("Hello, World!"); } } Je pense utiliser le DateTime TwentyYearsLater = new DateTime(2035,01,01); […]

Un hashmap Java est-il vraiment O (1)?

J’ai vu des affirmations intéressantes sur les hashaps Java SO et leur temps de recherche O(1) . Est-ce que quelqu’un peut expliquer pourquoi c’est ainsi? À moins que ces hashmaps ne soient très différents des algorithmes de hachage sur lesquels j’ai été acheté, il doit toujours exister un dataset contenant des collisions. Dans ce cas, […]

Quelles sont les garanties de complexité des conteneurs standard?

Apparemment 😉 les conteneurs standard offrent une forme de garantie. Quel type de garanties et quelles sont exactement les différences entre les différents types de conteneurs? En travaillant sur la page SGI (à propos de STL ), j’ai trouvé ceci: Container Types: ================ Container: Forward Container Reverse Container Random Access Container Sequence Front Insert Sequence […]

Résumé Big-O pour les implémentations Java Collections Framework?

Je vais peut-être bientôt enseigner un cours intensif sur Java. Bien qu’il soit probablement prudent de supposer que les membres du public connaîtront la notation Big-O, il n’est probablement pas prudent de supposer qu’ils sauront quel est l’ordre des différentes opérations sur les différentes implémentations de collections. Je pourrais prendre le temps de générer moi-même […]

Comment fusionner deux tableaux sortingés en un tableau sortingé?

Cela m’a été demandé lors d’une interview et c’est la solution que j’ai fournie: public static int[] merge(int[] a, int[] b) { int[] answer = new int[a.length + b.length]; int i = 0, j = 0, k = 0; while (i < a.length && j < b.length) { if (a[i] < b[j]) { answer[k] = […]