-->
|
|
|
§ 8. Ñòðóêòóðèðîâàííûå òèïû äàííûõ. Ìàññèâû Ïîóðî÷íûå ïëàíû, èíòåðàêòèâ8.6. Ñîðòèðîâêà ìàññèâà
Àëãîðèòì çàêîí÷èë ðàáîòó. Áûëî ñäåëàíî 10 ñðàâíåíèé è 10 îáìåíîâ (4 + 3 + 2 + 1). Ýòîò àëãîðèòì ëåãêî çàïîìèíàåòñÿ, íî íà ïðàêòèêå îí èñïîëüçóåòñÿ äîñòàòî÷íî ðåäêî èç-çà êâàäðàòè÷íîé ñëîæíîñòè, îçíà÷àþùåé, ÷òî â îáùåì ñëó÷àå êîëè÷åñòâî âûïîëíåííûõ ñðàâíåíèé è îáìåíîâ ñîïîñòàâèìî ñ n2, ãäå n — êîëè÷åñòâî ýëåìåíòîâ ìàññèâà.
Ñîðòèðîâêà âûáîðîìÑîðòèðîâêà âûáîðîì (â ïîðÿäêå íåóáûâàíèÿ) îñóùåñòâëÿåòñÿ ñëåäóþùèì îáðàçîì: 1) â ìàññèâå âûáèðàåòñÿ ìèíèìàëüíûé ýëåìåíò; 2) ìèíèìàëüíûé è ïåðâûé ýëåìåíòû ìåíÿþòñÿ ìåñòàìè (ïåðâûé ýëåìåíò ñ÷èòàåòñÿ îòñîðòèðîâàííûì); 3) â íåîòñîðòèðîâàííîé ÷àñòè ìàññèâà ñíîâà âûáèðàåòñÿ ìèíèìàëüíûé ýëåìåíò è ìåíÿåòñÿ ìåñòàìè ñ ïåðâûì íåîòñîðòèðîâàííûì ýëåìåíòîì ìàññèâà; 4) äåéñòâèÿ, îïèñàííûå â ïóíêòå 3, ïîâòîðÿþòñÿ ñ íåîòñîðòèðîâàííûìè ýëåìåíòàìè ìàññèâà äî òåõ ïîð, ïîêà íå îñòàíåòñÿ îäèí íåîòñîðòèðîâàííûé ýëåìåíò (åãî çíà÷åíèå áóäåò ìàêñèìàëüíûì).
1- ÿ èòåðàöèÿ: 1 4 3 2 5 (4 ñðàâíåíèÿ, 1 îáìåí). 2- ÿ èòåðàöèÿ: 1 2 3 4 5 (3 ñðàâíåíèÿ, 1 îáìåí). 3- ÿ èòåðàöèÿ: 1 2 3 4 5 (2 ñðàâíåíèÿ, 0 îáìåíîâ). 4- ÿ èòåðàöèÿ: 1 2 3 4 5 (1 ñðàâíåíèå, 0 îáìåíîâ).  îáùåì ñëó÷àå àëãîðèòì ñîðòèðîâêè âûáîðîì èìååò êâàäðàòè÷íóþ ñëîæíîñòü îòíîñèòåëüíî îïåðàöèé ñðàâíåíèÿ è ëèíåéíóþ ñëîæíîñòü îòíîñèòåëüíî îïåðàöèé îáìåíîâ. Ýòîò àëãîðèòì öåëåñîîáðàçíî ïðèìåíÿòü, êîãäà îïåðàöèÿ îáìåíà íàä ýëåìåíòàìè ìàññèâà îñîáåííî òðóäî¸ìêà (íàïðèìåð, åñëè ýëåìåíòîì ìàññèâà ÿâëÿåòñÿ çàïèñü ñ áîëüøèì ÷èñëîì ïîëåé). Ïðèâåä¸ì ôðàãìåíò ïðîãðàììû, ðåàëèçóþùåé îïèñàííûé âûøå àëãîðèòì:
|
|
|