Unutrašnje sortiranje

Unutrašnje sortiranje je bilo koji proces sortiranja koji se odvija potpuno unutar glavne memorije računara. Ovo je moguće dokle god su podaci dovoljno mali tako da svi mogu stati u glavnu memoriju računara. Za sortiranje većih grupa podataka možda bi bilo neophodno samo jedan deo podataka držati u memoriji, jer ne bi mogli svi stati odjednom. Ostatak podatak se naravno nalazi u većoj, ali sporijoj memoriji, kao što je hard-disk. Bilo koje čitanje ili upisivanje podataka sa i u ovu sporu memoriju može znatno usporiti proces sortiranja. Ovaj problem je povezan i sa drugim algoritmima za sortiranje.

Postoji 7-tipova algoritama sa unutrašnjim sortiranjem :- Bubble Sort, Insertion Sort, Quick Sort, Heap Sort, merge Sort, Radix Sort,Selection sort. Uzmimo na primer Bubblesort, gde susedni podaci menjaju pozicije kako bi ih smestili u pravi poredak, tako da podaci izgledaju kao da "isplivavaju" na vrh ekrana. Ako bi ovo moralo da bude izvedeno iz više manjih grupa podataka, onda kada bi sortirali sve podatke u grupi 1, nastavili bi u grupu 2, ali bi videli da neki od podataka iz grupe 1 moraju da "isplivaju" do grupe 2, i obrnuto (postoje podaci u grupi 2 koji pripadaju grupi 1, i podaci u grupi 1 koji pripadaju grupi 2 ili nekoj od sledećih grupa). Zbog ovoga će se grupe čitati i upisivati nazad na disk mnogo puta dok podaci prelaze granice između njih, što će uticati na znatno opadanje efikasnosti algoritma. Ako bi podaci mogli da se zadrže u memoriji kao jedna grupa, onda bi se ovaj uticaj na učinak samog algoritma mogao izbeći.

Sa druge strane, neki algoritmi podnose spoljašnje sortiranje mnogo bolje. Merge sort razdvaja podatke u grupe, sortira grupe pomoću nekog drugog algoritma (možda bubblesort ili quick sort) i zatim prespoji ponovo grupe dve po dve tako da sve budu u pravom poretku. Ovaj postupak smanjuje broj upisivanja i čitanja grupa podataka na i sa diska, a i popularan je metod spoljašnjeg sortiranja.