Articles of algorithme de

Pourquoi ne pas utiliser le sorting du tas toujours

L’algorithme de sorting Heap Sort semble avoir la complexité la plus complexe de O (nlogn) et utilise un espace O (1) pour l’opération de sorting. Cela semble mieux que la plupart des algorithmes de sorting. Alors, pourquoi ne pas utiliser Heap Sort toujours comme algorithme de sorting (et pourquoi les gens utilisent-ils des mécanismes de […]

Trouvez le 2ème plus grand élément d’un tableau avec un nombre minimum de comparaisons

Pour un tableau de taille N, quel est le nombre de comparaisons requirejs?

Rechercher l’élément en double dans le tableau à l’heure O (n)

On m’a posé cette question dans un entretien d’embauche et je me suis interrogé sur la bonne réponse. Vous avez un tableau de nombres compris entre 0 et n-1, l’un des nombres est supprimé et remplacé par un numéro déjà présent dans le tableau, ce qui en fait un doublon. Comment pouvons-nous détecter ce doublon […]

Meilleure structure de données pour l’implémentation d’un dictionnaire?

Quelle serait la meilleure structure de données pour stocker tous les mots d’un dictionnaire? La meilleure chose à laquelle je pouvais penser était d’utiliser un HashMap , qui correspondrait à un HashTable . Fondamentalement, en fonction du premier caractère, nous obtiendrons la HashTable associée et en utilisant ceci, nous pourrons append les mots commençant par […]

Trouvez le nombre de pièces minimum requirejs pouvant changer de 1 à 99 cents

Récemment, j’ai invité mon collègue à écrire un algorithme pour résoudre ce problème: Trouvez le nombre de pièces minimum requirejs qui peut changer de 1 à 99 cents. Les pièces ne peuvent être que des centimes (1), des nickels (5), des dimes (10) et des quarts (25), et vous devez pouvoir utiliser toutes ces valeurs […]

Tampon circulaire sans locking

Je suis en train de concevoir un système qui se connecte à un ou plusieurs stream de données et effectue des parsings sur les données plutôt que de déclencher des événements en fonction du résultat. Dans une configuration producteur / consommateur multithread typique, j’aurai plusieurs threads producteurs qui mettront des données dans une queue et […]

Quicksort vs heapsort

Le sorting rapide et le sorting rapide font tous les deux un sorting sur place. Ce qui est mieux? Quelles sont les applications et les cas dans lesquels l’un ou l’autre est préféré?

Moyen le plus rapide de trouver un numéro manquant dans un tableau de nombres

J’ai un tableau de nombres de 1 à 100 (tous deux inclus). La taille du tableau est 100. Les nombres sont ajoutés de manière aléatoire au tableau, mais il existe un emplacement vide aléatoire dans le tableau. Quel est le moyen le plus rapide de trouver cet emplacement, ainsi que le numéro à placer dans […]

Problème de performances: Java vs C ++

J’ai toujours entendu dire que C ++ était beaucoup plus efficace que Java (et c’est pourquoi la plupart des jeux sont développés en C ++). J’ai écrit un petit algorithme pour résoudre le “puzzle des huit reines” en Java et en C ++, en utilisant exactement le même algorithme, puis j’ai commencé à augmenter le […]

Multiplication de masortingce: petite différence de taille de masortingce, grande différence de temps

J’ai un code de multiplication de masortingce qui ressemble à ceci: for(i = 0; i < dimension; i++) for(j = 0; j < dimension; j++) for(k = 0; k < dimension; k++) C[dimension*i+j] += A[dimension*i+k] * B[dimension*k+j]; Ici, la taille de la masortingce est représentée par une dimension . Maintenant, si la taille des masortingces […]