Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Computer Programming Languages >> Content
Hoe kan ik een algoritme van Orde N Lgn schrijven voor Controleren Of Two Gezien Woorden Zijn Anagrams
Als twee woorden of zinnen zijn anagrammen , ze delen exact dezelfde set van letters in een andere volgorde . Bijvoorbeeld , "luisteren " en " stille " zijn anagrammen . U kunt een algoritme te maken met orde n log ( n ) efficiëntie die controleert of een lijst met bepaalde woorden zijn anagrammen . Sorteer vervolgens met een O ( n log ( n ) ) sorteervolgorde en gebruik een hash tabel om de resultaten te vergelijken . Instructies
1

Maak een hash tabel die een sleutel en een lijst van waarden die bij elke toets heeft . Te beginnen met het eerste woord ; doorlopen de lijst met woorden kopen van 2

Sorteer de letters in het woord met behulp merge sort , heap sort , binaire boom sorteren of een vergelijkbaar type dat wordt uitgevoerd als O ( n log . ( n ) ) . Vergeet niet dat anagrammen zijn identiek indien gesorteerd .
3

Kijk omhoog de ​​gesorteerde woord in de hash tabel . Voeg de ongesorteerde woord om de waarden die aan de hekje-toets als de sleutel al bestaat . Voeg de gesorteerde woord als een nieuwe hash -toets en de ongesorteerde woord als een waarde gehecht aan de hekje-toets als het hekje niet bestaat . Bijvoorbeeld , gegeven " rat ", " tar " en " kunst " add "kunst" als de hekje-toets en de " rat " als een waarde , voeg " tar " als een waarde " gehecht aan " kunst" en voeg " kunst " als een waarde gehecht aan " art . "
4

verder met elk woord in de lijst . Wanneer u het einde van de lijst bereikt , drukt u elk hekje-toets en de bijbehorende waarden aan de anagrammen gevonden bekijken .
5

tellen de gemaakte vergelijkingen te valideren dat de soort er in " O ( n log ( n ) ) " en dat de vergelijking gebeurt in O ( 1 ) .

Previous: Next:
  Computer Programming Languages
·Hoe maak je een ID in Graaf Cr…
·Wat is Sub - Pixel Correctie ?…
·Wat is Cohesie in Software Eng…
·Wat is een UML- client? 
·Hoe te Columns In GridView 
·Hoe SQL Stored Procedures Leer…
·Hoe te Duplicaten verwijderen …
·Hoe om te controleren een waar…
·Hoe te Ongeldige Class ID Refe…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe maak je een Check Box Maak in Visual…
·Over Sun Java Certification 
·Wat is Recursion in Programmering 
·Hoe te controleren of een Array Index Be…
·Hoe te Lines tellen in een Java Project 
·Dynamische SQL Tutorial 
·Hoe Bewerken in GridView 
·Hoe kan ik PHP initialisatieparameters A…
·Hoe kan ik PHP upgraden 
Copyright © Computer Kennis http://www.nldit.com