\input style %%172 \proof Åóìé ðòïéú÷åäåîï íåîåå $n-1$ óòá÷îåîéê, ôï îáêäõôóñ ðï ëòáêîåê íåòå ä÷á üìåíåîôá, äìñ ëïôïòùè îå âùìï ïâîáòõöåîï îé ïäîïçï üìåíåîôá, ðòå÷ïóèïäñýåçï éè ðï ÷åìéþéîå. Óìåäï÷áôåìøîï, íù ôáë é îå õúîáåí, ëïôïòùê éú üôéè ä÷õè üìåíåîôï÷ âïìøûå, é, úîáþéô, îå óíïöåí ïðòåäåìéôø íáëóéíõí. \proofend Ôáëéí ïâòáúïí, ðòïãåóó ÷ùâïòá, ÷ ëïôïòïí ïôùóëé÷áåôóñ îáéâïìøûéê üìåíåîô, äïìöåî óïóôïñôø îå íåîåå þåí éú $n-1$ ûáçï÷. Ïúîáþáåô ìé üôï, þôï äìñ ÷óåè íåôïäï÷ óïòôéòï÷ëé, ïóîï÷áîîùè îá $n$ ðï÷ôïòîùè ÷ùâïòáè, þéóìï ûáçï÷ îåéúâåöîï âõäåô ðïòñäëá $n^2$? Ë óþáóôøà, ìåííá M ðòéíåîéíá ôïìøëï ë \emph{ðåò÷ïíõ} ûáçõ ÷ùâïòá; ðòé ðïóìåäõàýéè ÷ùâïòáè íïöîï éóðïìøúï÷áôø éú÷ìåþåîîõà òáîåå éîæïòíáãéà. Îáðòéíåò, ÷ õðò.~8 ðïëáúáîï, þôï óòá÷îéôåìøîï ðòïóôïå éúíåîåîéå áìçïòéôíá~S îáðïìï÷éîõ óïëòáýáåô þéóìï óòá÷îåîéê. Òáóóíïôòéí 16 þéóåì, ðòåäóôá÷ìåîîùè ÷ 1-ê óôòïëå ÷ ôáâì.~1. Ïäéî éú óðïóïâï÷ óüëïîïíéôø ÷òåíñ ðòé ðïóìåäõàýéè ÷ùâïòáè---òáúâéôø ÷óå þéóìá îá þåôùòå çòõððù ðï þåôùòå þéóìá. Îáþáôø íïöîï ó ïðòåäåìåîéñ îáéâïìøûåçï, üìåíåîôá ëáöäïê çòõððù, á éíåîîï óïïô÷åôóô÷åîîï ó ëìàþåê $$ 512, 908, 653, 765; $$ ôïçäá îáéâïìøûéê éú üôéè þåôùòåè üìåíåîôï÷ 908 é âõäåô îáéâïìøûéí ÷ï ÷óåí æáêìå. Þôïâù ðïìõþéôø ÷ôïòïê ðï ÷åìéþéîå üìåíåîô, äïóôáôïþîï ðòïóíïôòåôø óîáþáìá ïóôáìøîùå ôòé üìåíåîôá çòõððù, óïäåòöáýåê 908; îáéâïìøûéê éú $\{170, 897, 275\}$ òá÷åî 897, é ôïçäá îáéâïìøûéê óòåäé $$ 512, 897, 653, 765 $$ üôï 897. Áîáìïçéþîï, äìñ ôïçï þôïâù ðïìõþéôø ôòåôéê ðï ÷åìéþéîå üìåíåîô, ïðòåäåìñåí îáéâïìøûéê éú $\{170, 275\}$, á úáôåí îáéâïìøûéê éú $$ 512, 275, 653, 765 $$ é ô. ä. Ëáöäùê ÷ùâïò, ëòïíå ðåò÷ïçï, ôòåâõåô îå âïìåå 6 äïðïìîéôåìøîùè óòá÷îåîéê. ×ïïâýå, åóìé $N$---ôïþîùê ë÷áäòáô, ôï íïöîï òáúäåìéôø æáêì îá $\sqrt N$ çòõðð ðï $\sqrt N$ üìåíåîôï÷ ÷ ëáöäïê; ìàâïê ÷ùâïò, ëòïíå ðåò÷ïçï, ôòåâõåô îå âïìåå þåí $\sqrt{N}-1$ óòá÷îåîéê ÷îõôòé çòõððù òáîåå ÷ùâòáîîïçï üìåíåîôá ðìàó $\sqrt{N}-1$ óòá÷îåîéê óòåäé "ìéäåòï÷ çòõðð". Üôïô íåôïä ðïìõþéì îáú÷áîéå "ë÷áäòáôéþîùê ÷ùâïò"; ïâýåå ÷òåíñ òáâïôù äìñ îåçï åóôø $O(N\sqrt{N})$, þôï óõýåóô÷åîîï ìõþûå, þåí $O(N^2)$. Íåôïä ë÷áäòáôéþîïçï ÷ùâïòá ÷ðåò÷ùå ïðõâìéëï÷áî Ü.~X.~Æòüîäïí [{\sl JACM\/}, {\bf 3} (1956), 152--154]; ïî õëáúáì, þôï üôõ éäåà íïöîï .ïâïâýéôø, ðïìõþé÷ ÷ òåúõìøôáôå íåôïä ëõâéþåóëïçï ÷ùâïòá, ÷ùâïòá þåô÷åòôïê óôåðåîé é ô. ä. Îáðòéíåò, íåôïä ëõâéþåóëïçï %%173 ÷ùâïòá óïóôïéô ÷ ôïí, þôïâù òáúäåìéôø æáêì îá $\root 3\of N$ âïìøûéè çòõðð, ëáöäáñ éú ëïôïòùè óïäåòöéô ðï $\root 3\of N$ íáìùè çòõðð ðï $\root 3\of N$ úáðéóåê; ÷òåíñ òáâïôù ðòïðïòãéïîáìøîï $N\root 3\of N$. Åóìé òáú÷éôø üôõ éäåà äï åå ðïìîïçï úá÷åòûåîéñ, ôï íù ðòéäåí ë ôïíõ, þôï Æòüîä îáú÷áì "÷ùâïò $n$-ê óôåðåîé", ïóîï÷áîîùê îá óôòõëôõòå âéîáòîïçï äåòå÷á. ×òåíñ òáâïôù üôïçï íåôïäá ðòïðïòãéïîáìøîï $N \log N$; íù âõäåí îáúù÷áôø åçï \dfn{÷ùâïòïí éú äåòå÷á}. \section ×ùâïò éú äåòå÷á. Ðòéîãéðù óïòôéòï÷ëé ðïóòåäóô÷ïí ÷ùâïòá éú äåòå÷á âõäåô ìåçþå ÷ïóðòéîñôø, åóìé ÷ïóðïìøúï÷áôøóñ áîáìïçéåê ó ôéðéþîùí "ôõòîéòïí ó ÷ùâù÷áîéåí". Òáóóíïôòéí, îáðòéíåò, òåúõìøôáôù óïòå÷îï÷áîéñ ðï îáóôïìøîïíõ ôåîîéóõ, ðïëáúáîîùå îá òéó.~22. Äöéí ðïâåöäáåô Äïîá, á Äöï ðïâåöäáåô Äöåëá; úáôåí ÷ óìåäõàýåí ôõòå Äöï ÷ùéçòù÷áåô õ Äöéíá é ô. ä. Îá òéó.~22 ðïëáúáîï, þôï Äöï---þåíðéïî óòåäé ÷ïóøíé óðïòôóíåîï÷, á äìñ ôïçï, þôïâù ïðòåäåìéôø üôï, ðïôòåâï÷áìïóø $8-1=7$ íáôþåê (ô. å. óòá÷îåîéê). Äéë ÷ï÷óå îå ïâñúáôåìøîï âõäåô ÷ôïòùí ðï óéìå éçòïëïí: ìàâïê éú óðïòôóíåîï÷, õ ëïôïòùè ÷ùéçòáì Äöï, ÷ëìàþáñ äáöå ðòïéçòá÷ûåçï ÷ ðåò÷ïí ôõòå Äöåëá, íïç âù ïëáúáôøóñ ÷ôïòùí ðï óéìå éçòïëïí. ×ôïòïçï éçòïëá íïöîï ïðòåäåìéôø, úáóôá÷é÷ Äöåëá óùçòáôø ó Äöéíïí, á ðïâåäéôåìñ üôïçï íáôþá---ó Äéëïí; ÷óåçï ä÷á äïðïìîéôåìøîùè íáôþá ôòåâõåôóñ äìñ ïðòåäåìåîéñ ÷ôïòïçï ðï óéìå éçòïëá, éóèïäñ éú ôïçï óïïôîïûåîéñ óéì, ëïôïòïå íù úáðïíîéìé éú ðòåäùäõýéè éçò. ×ïïâýå íïöîï "÷ù÷åóôé" éçòïëá, îáèïäñýåçïóñ ÷ ëïòîå äåòå÷á, é úáíåîéôø åçï þòåú÷ùþáêîï óìáâùí éçòïëïí. Ðïäóôáîï÷ëá üôïçï óìáâïçï éçòïëá ïúîáþáåô, þôï ðåò÷ïîáþáìøîï ÷ôïòïê ðï óéìå óðïòôóíåî óôáîåô ôåðåòø îáéìõþûéí, é éíåîîï ïî ïëáöåôóñ ÷ ëïòîå, åóìé ÷îï÷ø ÷ùþéóìéôø ðïâåäéôåìåê ÷ ÷åòèîéè õòï÷îñè äåòå÷á. Äìñ üôïçï îõöîï éúíåîéôø ìéûø ïäéî ðõôø, ÷ äåòå÷å, ôáë þôï äìñ ÷ùâïòá óìåäõàýåçï ðï óéìå éçòïëá îåïâèïäéíï íåîåå $\lceil \log_2 N\rceil$) äïðïìîéôåìøîùè óòá÷îåîéê. Óõííáòîïå %%174 \picture{Òéó. 23. Ðòéíåò óïòôéòï÷ëé ðïóòåäóô÷ïí ÷ùâïòá éú äåòå÷á...} %% 175 ÷òåíñ ÷ùðïìîåîéñ ôáëïê óïòôéòï÷ëé ðïóòåäóô÷ïí ÷ùâïòá ðòéíåòîï ðòïðïòãéïîáìøîï $N\log N$. Îá òéó.~23 óïòôéòï÷ëå ðïóòåäóô÷ïí ÷ùâïòá éú äåòå÷á ðïä÷åòçáàôóñ îáûé 16 þéóåì. Úáíåôéí, þôï äìñ ôïçï, þôïâù úîáôø, ëõäá ÷óôá÷ìñôø óìåäõàýéê üìåíåîô "$-\infty$", îåïâèïäéíï ðïíîéôø, ïôëõäá ðòéûåì ëìàþ, îáèïäñýéêóñ ÷ ëïòîå. Ðïüôïíõ õúìù òáú÷åô÷ìåîéñ ÷ äåêóô÷éôåìøîïóôé óïäåòöáô õëáúáôåìé éìé éîäåëóù, ïðéóù÷áàýéå ðïúéãéà ëìàþá, á îå óáí ëìàþ. Ïôóàäá óìåäõåô, þôï îåïâèïäéíá ðáíñôø äìñ $N$ éóèïäîùè úáðéóåê, $N-1$ óìï÷-õëáúáôåìåê é $N$ ÷ù÷ïäéíùè úáðéóåê. (Òáúõíååôóñ, åóìé ÷ù÷ïä \picture{Òéó. 24. Ðòéíåîåîéå ëïòðïòáôé÷îïê óéóôåíù ÷ùä÷éöåîéê ë óïòôéòï÷ëå. Ëáöäùê ðïäîéíáåôóñ îá ó÷ïê õòï÷åîø îåëïíðåôåîôîïóôé ÷ éåòáòèéé.} éäåô îá ìåîôõ éìé îá äéóë, ôï îå îõöîï óïèòáîñôø ÷ù÷ïäéíùå úáðéóé ÷ ïðåòáôé÷îïê ðáíñôé.) Þôïâù ïãåîéôø ôå úáíåþáôåìøîùå õóï÷åòûåîóô÷ï÷áîéñ, ëïôïòùå íù óïâéòáåíóñ ïâóõäéôø, ÷ üôïí íåóôå óìåäõåô ðòåò÷áôø þôåîéå äï ôåè ðïò, ðïëá ÷ù îå ïó÷ïéôåóø ó ÷ùâïòïí éú äåòå÷á èïôñ âù îáóôïìøëï, þôï òåûåîéå õðò.~10 îå óïóôá÷éô äìñ ÷áó îéëáëïçï ôòõäá. Ïäîá éú íïäéæéëáãéê ÷ùâïòá éú äåòå÷á, ÷÷åäåîîáñ, ðï óõýåóô÷õ, Ë.~Ü.~Áê÷åòóïîïí [A Programming Language (Wiley, 1962), 223--227], õóôòáîñåô îåïâèïäéíïóôø õëáúáôåìåê, óìåäõàýéí ïâòáúïí ïóõýåóô÷ìññ "úáçìñäù÷áîéå ÷ðåòåä": ëïçäá ðïâåäéôåìø íáôþá îá îéöîåí õòï÷îå ðïäîéíáåôóñ ÷÷åòè, ôï îá îéöîåí õòï÷îå åçï óòáúõ öå íïöîï úáíåîéôø îá "$-\infty$"; ëïçäá öå ðïâåäéôåìø ðåòåíåýáåôóñ ÷÷åòè ó ïäîïçï òáú÷åô÷ìåîéñ îá äòõçïå, ôï åçï íïöîï úáíåîéôø éçòïëïí, ëïôïòùê ÷ ëïîãå ëïîãï÷ ÷óå òá÷îï äïìöåî ðïäîñôøóñ, îá åçï ðòåöîåå íåóôï (á éíåîîï îáéâïìøûéí éú ä÷õè ëìàþåê, òáóðïìïöåîîùè ðïä îéí). ×ùðïìîé÷ üôõ ïðåòáãéà óôïìøëï òáú, óëïìøëï ÷ïúíïöîï, ðòéäåí ïô òéó.~23(á) ë òéó.~24. Ëïìø óëïòï äåòå÷ï ðïóôòïåîï ôáëéí ïâòáúïí, íïöîï ðòïäïìöáôø óïòôéòï÷ëõ îå "÷ïóèïäñýéí" íåôïäïí, ðïëáúáîîùí îá òéó.~23, á "îéóèïäñýéí": ÷ù÷ïäéôóñ üìåíåîô, îáèïäñýéêóñ %% 176 ÷ ëïòîå, ðåòåíåýáåôóñ ÷÷åòè îáéâïìøûéê éú åçï ðïôïíëï÷, ðåòåíåýáåôóñ ÷÷åòè îáéâïìøûéê éú ðïôïíëï÷ ðïóìåäîåçï é ô. ä. Ðòïãåóó îáþéîáåô ðïèïäéôø îå óôïìøëï îá ôõòîéò ðï îáóôïìøîïíõ ôåîîéóõ, óëïìøëï îá ëïòðïòáôé÷îõà óéóôåíõ ÷ùä÷éöåîéê. Þéôáôåìø äïìöåî õñóîéôø, þôï õ îéóèïäñýåçï íåôïäá åóôø ÷áöîïå äïóôïéîóô÷ï---ïî ðïú÷ïìñåô éúâåöáôø ìéûîéè óòá÷îåîéê $-\infty$ ó~$-\infty$. (Ðïìøúõñóø ÷ïóèïäñýéí íåôïäïí, íù îá âïìåå ðïúäîéè óôáäéñè óïòôéòï÷ëé ÷óàäõ îáôùëáåíóñ îá $-\infty$, á ðòé îéóèïäñýåí íåôïäå íïöîï îá ëáöäïê óôáäéé úáëáîþé÷áôø ðòåïâòáúï÷áîéå äåòå÷á óòáúõ öå ðïóìå úáîåóåîéñ $-\infty$.) \picture{Òéó. 25. Ðïóìåäï÷áôåìøîïå òáóðòåäåìåîéå ðáíñôé äìñ ðïìîïçï âéîáòîïçï äåòå÷á.} Îá òéó.~23 é~24 éúïâòáöåîù \emph{ðïìîùå âéîáòîùå äåòå÷øñ} ó 16 ëïîãå÷ùíé õúìáíé (óò. ó ð.~2.3.4.5); ôáëéå äåòå÷øñ õäïâîï èòáîéôø ÷ ðïóìåäï÷áôåìøîùè ñþåêëáè ðáíñôé, ëáë ðïëáúáîï îá òéó.~25. Úáíåôéí, þôï ïôãïí õúìá îïíåò $k$ ñ÷ìñåôóñ õúåì $\lfloor k/2\rfloor$ , á åçï ðïôïíëáíé ñ÷ìñàôóñ õúìù $2k$ é $2k+1$. Ïôóàäá ÷ùôåëáåô åýå ïäîï ðòåéíõýåóô÷ï îéóèïäñýåçï íåôïäá, ðïóëïìøëõ úáþáóôõà úîáþéôåìøîï ðòïýå ðòïä÷éçáôøóñ ÷îéú ïô õúìá $k$ ë õúìáí $2k$ é~$2k+1$, þåí ÷÷åòè ïô õúìá $k$ ë õúìáí $k\oplus 1$ é~$\lfloor k/2\rfloor$. (Úäåóø þåòåú $k\oplus 1$ ïâïúîáþåîï þéóìï $k+1$ éìé $k-1$ ÷ úá÷éóéíïóôé ïô ôïçï, ñ÷ìñåôóñ ìé $k$ þåôîùí éìé îåþåôîùí.) Äï óéè ðïò ÷ îáûéè ðòéíåòáè ÷ùâïòá éú äåòå÷á ÷ ôïê éìé éîïê íåòå ðòåäðïìáçáìïóø, þôï $N$ åóôø óôåðåîø 2; ÷ äåêóô÷éôåìøîïóôé íïöîï òáâïôáôø ó ðòïéú÷ïìøîùí úîáþåîéåí $N$, ôáë ëáë ðïìîïå âéîáòîïå äåòå÷ï ó $N$ ëïîãå÷ùíé õúìáíé îåôòõäîï ðïóôòïéôø äìñ ìàâïçï N. Íù ðïäïûìé ôåðåòø ë ïóîï÷îïíõ ÷ïðòïóõ: îåìøúñ ìé ÷ îéóèïäñýåí íåôïäå ïâïêôéóø óï÷óåí âåú "$-\infty$"? Îå ðòá÷äá ìé, âùìï âù þõäåóîï, åóìé âù ÷óà óõýåóô÷åîîõà éîæïòíáãéà, éíåàýõàóñ îá òéó.~24, õäáìïóø òáóðïìïöéôø ÷ ñþåêëáè 1--16 %%177 ðïìîïçï âéîáòîïçï äåòå÷á âåú ÷óñëéè âåóðïìåúîùè "äùò", óïäåòöáýéè $-\infty$? Ðïòáúíùóìé÷, íïöîï ðòéêôé ë ÷ù÷ïäõ, þôï üôá ãåìø ÷ äåêóô÷éôåìøîïóôé äïóôéöéíá, ðòéþåí îå ôïìøëï éóëìàþáåôóñ $-\infty$, îï é ðïñ÷ìñåôóñ ÷ïúíïöîïóôø óïòôéòï÷áôø $N$ úáðéóåê îá ôïí öå íåóôå âåú ÷óðïíïçáôåìøîïê ïâìáóôé ÷ù÷ïäá. Üôï ðòé÷ïäéô ë åýå ïäîïíõ ÷áöîïíõ áìçïòéôíõ óïòôéòï÷ëé. Åçï á÷ôïò Äö.~Õ.~Äö.~Õéìøñíó [{\sl CACM\/}, {\bf 7} (1964), 347--348] ïëòåóôéì ó÷ïê áìçïòéôí "ðéòáíéäáìøîïê-óïòôéòï÷ëïê" ("heapsort"). \section Ðéòáíéäáìøîáñ óïòôéòï÷ëá. Âõäåí îáúù÷áôø æáêì ëìàþåê $K_1$, $K_2$, \dots, $K_N$ "ðéòáíéäïê", åóìé $$ K_{\lfloor j/2\rfloor}\ge K_j \rem{ ðòé $1\le \lfloor j/2\rfloor1$, ôï õóôáîï÷éôø $l\asg l-1$, $R\asg R_l$, $K\asg K_l$. (Åóìé $l>1$, üôï ïúîáþáåô, þôï ðòïéóèïäéô %% 178 ðòïãåóó ðòåïâòáúï÷áîéñ éóèïäîïçï æáêìá ÷ ðéòáíéäõ; åóìé öå $l= 1$, ôï üôï úîáþéô, þôï ëìàþé $K_1$, $K_2$, \dots, $K_r$ õöå ïâòáúõàô ðéòáíéäõ.) × ðòïôé÷îïí óìõþáå õóôáîï÷éôø $R\asg R_r$, $K\asg K_r$, $R_r\asg R_1$ é $r\asg r-1$; åóìé ÷ òåúõìøôáôå ïëáúáìïóø, þôï $r=1$, ôï õóôáîï÷éôø $R_1\asg R$ é úá÷åòûéôø òáâïôõ áìçïòéôíá. \st[Ðòéçïôï÷éôøóñ ë "ðòïôáóëé÷áîéà".] Õóôáîï÷éôø $j\asg l$. (Ë üôïíõ íïíåîôõ $$ K_\floor{j/2}\ge K_j \rem{ðòé $l<\floor{j/2}r$, ôï ðåòåêôé ë ûáçõ \stp{8}. \st[Îáêôé "âïìøûåçï" óùîá.] Åóìé $K_j