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.