Ik ben het scannen van een grote gegevensbron, op dit moment ongeveer 8 miljoen ingangen, extraheren op koord per ingang, die ik wil in alfabetische volgorde.
Currenlty Ik zet ze in een array dan soort een index om ze met behulp van qsort()die prima werkt.
Maar uit nieuwsgierigheid Ik denk aan in plaats daarvan het inbrengen van elke snaar in een datastructuur die hen onderhoudt in alfabetische volgorde als ik ze scannen vanuit de gegevensbron, deels voor de ervaring van emlplementing één, deels omdat het sneller zal voelen zonder het wachten op het soort te voltooien nadat de scan is voltooid (-:
Welke gegevens structuur zou de meest eenvoudig te implementeren in C zijn?
BIJWERKEN
Ter verduidelijking, de enige handelingen ik moet uitvoeren zijn het invoegen van een item en het dumpen van de index wanneer het klaar is, en daarmee bedoel ik voor elk item in de oorspronkelijke volgorde te dumpen een geheel getal dat de order is in na sortering.
OVERZICHT
- De makkelijkste te implementeren binary search bomen.
- Self balancing binaire bomen zijn veel beter, maar niet triviaal te implementeren.
- Insertion kan iteratief worden gedaan, maar in orde traversal voor het dumpen van de resultaten en de post-order traversal voor de boom te verwijderen wanneer beide gedaan vereisen ofwel recursie of een expliciete stack.
- Zonder de uitvoering balancing, zullen runs van bestelde ingang resulteren in de gedegenereerde ergste geval dat een gekoppelde lijst. Dit betekent diepe bomen die ernstige invloed hebben op de snelheid van de invoegbewerking.
- Het schudden van de invoer iets kunnen breken besteld ingang aanzienlijk en is gemakkelijker te implementeren dat balancing.













