2016-10-30 2 views
0

Je dois créer un programme qui entre un fichier texte en anglais et affiche une liste de mots contenus dans le fichier et le nombre d'occurrences. J'ai besoin de faire un en utilisant une méthode de force brute et un avec diviser pour régner. Je vais le coder moi-même alors s'il vous plaît ne me donnez pas de code, mais j'ai besoin d'aide pour savoir comment faire - fondamentalement, quel est l'algorithme derrière chaque méthode, en particulier le diviser pour régner? pseudo-code serait grandBesoin d'un algorithme pour imprimer une liste de mots uniques et le nombre d'occurrences

+0

Pourriez-vous être plus précis au sujet de quelle partie de ce que vous avez besoin d'aide et de ce que vous avez essayé jusqu'à présent? – EJoshuaS

Répondre

0

En utilisant une méthode de force brute:

Créer une liste qui stocke mot (par exemple, key) et compteur correspondant pour leurs occurrences (par exemple cnt). Traverse dans le fichier et:

  1. si le mot n'est pas présent, ajoutez dans la liste et démarrer le compteur comme cnt = 1.
  2. si le mot est présent, faites cnt++.

Utiliser Divide and Conquer:

  1. Utilisez une liste séparée pour chaque alphabet de départ (a à z). Il y aurait donc au plus 26 listes distinctes.
  2. Traversez la liste. Pour chaque mot, choisissez le caractère de départ et choisissez la liste correspondante pour rechercher le mot. Ensuite, effectuez la recherche et mettez à jour la méthode utilisée dans la méthode de force brute.

Remarque: Aucun d'entre eux n'est optimisé. Ils se comportent mal contre l'implémentation de hashmap.