Jeg skanner et stort datakilde, for tiden ca 8 millioner oppføringer, trekke på strengen per post, som jeg vil ha i alfabetisk rekkefølge.
Currenlty Jeg satte dem i en matrise deretter sortere en indeks til dem ved hjelp av qsort()noe som fungerer fint.
Men ut av nysgjerrighet jeg tenker på i stedet å sette inn hver streng i en datastruktur som holder dem i alfabetisk rekkefølge som jeg skanne dem fra datakilden, dels for opplevelsen av emlplementing en, blant annet fordi det vil føles raskere uten ventetid for sortere for å fullføre etter at skanningen er fullført (-:
Hva datastruktur ville være den enkleste å implementere i C?
OPPDATER
For å klargjøre, er de eneste operasjoner jeg må utføre for å sette inn et element og dumping indeksen når det er gjort, som jeg mener for hvert element i den opprinnelige rekkefølgen dumpe et heltall som representerer den rekkefølgen de er i etter sortering.
SAMMENDRAG
- Den enkleste å implementere er binære søketrær.
- Selv balansere binære trær er mye bedre, men triviell å implementere.
- Innsetting kan utføres iterativt, men i for traversering for dumping av resultater og etter orden traversering for sletting av treet når det gjøres både krever enten rekursjon eller en eksplisitt stabel.
- Uten å implementere balansering, vil kjøringer av organisert innspill resultere i den degenererte verste fall som er en lenket liste. Dette betyr dype trær som sterkt påvirker hastigheten av innsettingsoperasjonen.
- Shuffling inngangs litt kan bryte opp bestilles innspill betydelig og er enklere å implementere at balansering.













