Įterpimo rikiavimo algoritmas
From Wikipedia, the free encyclopedia
From Wikipedia, the free encyclopedia
Įterpimo algoritmas (angl. insertion sort) – vienas iš paprastų, bet nelabai efektyvių rikiavimo algoritmų. Algoritmo privalumai – paprasta suprogramuoti, efektyvus mažiems duomenų kiekiams ar beveik surikiuotiems duomenims, naudoja mažai atminties. Algoritmas yra stabilus. Pagrindinis principas – imamas kiekvienas elementas iš eilės ir įterpiamas į jam skirtą vietą jau surikiuotoje duomenų grupėje.
Algoritmas | |
Tipas | Rikiavimo algoritmai |
Pavadinimas | Įterpimo (Insertion sort) |
Sudėtingumas | Vidutinis - N²; blogiausias - N² |
Greitos nuorodos |
Įterpimo algoritmas laukiamu atveju naudoja apytikriai N²/4 lyginimų ir N²/8 keitimų vietomis, blogiausiu atveju – dvigubai daugiau operacijų. Veikia geriau su tam tikrom duomenų struktūrom (pavyzdžiui, sąrašu, bet ne masyvu).
Kai žaidėjai rankiniu būdu rūšiuoja kortas bridžo žaidime, dauguma naudoja rikiavimo metodą, panašų įterpimo algoritmą.[1]
Pavyzdys Pascal kalba:
procedure Iterpimas (var a:array of integer; N:integer);
var i, j, v:integer;
begin
for i:=2 to N do
begin
v:=a[i]; j:=i;
while a[j-1]>v do
begin
a[j]:=a[j-1];
j:=j-1;
end;
a[j]:=v;
end;
end;
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.