Programmeurs die overstappen van pc en web development in coderen voor mobiele apparaten of embedded systemen vinden dat er meer tijd wordt besteed aan hun eigen datastructuren en algoritmen selecteren en codering . Met minder geheugen en beperkte opslag van gegevens, is er geen ruimte is voor pre-built bibliotheken of kaders . Dus voor diegenen die behoefte hebben om hun eigen sortering routines te schrijven , hier zijn enkele overwegingen over het kiezen van de nederige bubble sort . Achtergrond De bubble sort is een eenvoudig algoritme dat sorteert een lijst met items in het geheugen . Gegeven een array, de code vergelijkt herhaaldelijk elk paar aangrenzende voorwerpen en swaps als ze niet in orde . Het proces wordt herhaald totdat er geen meer swaps optreden . Als het mogelijk was om de serie te bekijken , terwijl de soort aan de gang is , zou " bubble " aan de top, terwijl de grote waarden zou zinken naar de bodem van de lage waarden . Hier is de desbetreffende code in Visual Basic 2010 : = False Voor i = 0 To tbl.length Terwijl swap = True swap - 2 Als tbl ( i ) > tbl ( i + 1 ) dan tmp = tbl ( i ) tbl ( i ) = tbl ( i + 1 ) op Twitter tbl ( i + 1 ) = tmp swap = True End Als Volgende Einde Terwijl Toen te kiezen de Bubble Sort Dit algoritme heeft verschillende voordelen . Het is eenvoudig om te schrijven , makkelijk te begrijpen en het duurt maar een paar regels code . De gegevens worden gesorteerd in plaats zodat er weinig geheugen overhead en eenmaal gesorteerd , de gegevens in het geheugen , klaar voor verwerking . Het belangrijkste nadeel is de hoeveelheid tijd die het duurt om te sorteren . De gemiddelde doorlooptijd van bijna exponentieel als het aantal tabelelementen verhoging . Tien keer het aantal items duurt bijna honderd keer zo lang te sorteren . Andere Array Sorteert sorteeralgoritmes variëren in complexiteit , snelheid en overhead . De bubble sort is het minst complex maar ook een van de langzaamste . Andere array-gebaseerde sorteert als de insertion sort en uitwisseling soort zijn een beetje sneller , maar neemt meer code ( zie hieronder de referenties ) . Het belangrijkste voordeel van de array-gebaseerde soort zijn die ze gebruiken het minst code en neem de minste hoeveelheid werkgeheugen . Overweeg deze soorten voor eenvoudige arrays met minder dan een paar honderd punten . Complex Sorteren Algoritmes Grotere datasets vereisen meer complexe code en meer geheugen . De snelle sorteren en heap sort zowel split en kopieer de datasets van het aantal vergelijkingen te optimaliseren . De snelle sorteren verdeelt voortdurend de lijst reassembles het dan in gesorteerde volgorde . De heap sort kopieert de gegevens in een boomstructuur doorloopt dan de boom om de gegevens terug te kopiëren naar orde . Beide zijn snel en efficiënt, maar nemen meer code en nog veel meer werkende opslag . Kies deze algoritmen voor grote datasets .
|