<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770537</guid>
        <pubDate>Tue, 29 May 2018 18:40:42 +0000</pubDate>
        <title>Некоторые уточнения про терпеливую сортировку</title>
        <link>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770537</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770514'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-05-29T11:56:05+00:00">29.05.18, 11:56</time></span><div class='quote '>Придется делать динамический, но без расширения, иначе снова падает производительность.</div></div> Производительность падает не сильно, если при заполнении массив увеличивать не по арифметической прогрессии, а по геометрической.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770514'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-05-29T11:56:05+00:00">29.05.18, 11:56</time></span><div class='quote '>что понимать под &quot;брать стек из вершины пирамиды&quot;</div></div> перечитай ещё раз описание пирамидальной сортировки. Вторую часть, где выбирается первый элемента, и пирамида пересыпается.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770514'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-05-29T11:56:05+00:00">29.05.18, 11:56</time></span><div class='quote '>3. берем элемент из вершины МИНИМАЛЬНОЙ пирамиды и засовываем в соот-щий элемент исходного массива.</div></div> Это всегда первый элемент массива, в котором построена пирамида.<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770514'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-05-29T11:56:05+00:00">29.05.18, 11:56</time></span><div class='quote '>скорость у нее ТОПовая, разумеется, но кодировать не очень просто</div></div> Вовсе не топовая. Хотя и построение стеков (с использованием двоичного поиска) и выборка отсортированных записей с использованием дерева Флойда имеют сложность O(N log N), тем не менее коэффициент у алгоритма получается заметно больше, чем у быстрой, к примеру сортировки, причём последняя ещё и обходится памятью O(log N) для стека, а этот алгоритм требует O(N). При наличии такой памяти (даже вполовину меньше) практичнее воспользоваться каким-нибудь вариантом сортировки слиянием, который в таком случае часто оказывается быстрее даже лучших реализаций быстрой сортировки. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-05-29T21:42:15+03:00">29.05.18, 18:42</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770517'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-05-29T12:15:09+00:00">29.05.18, 12:15</time></span><div class='quote '> даже самый банальный quicksort будет быстее из-за того, что он весьма локальный по отношению к кешу.</div></div> Он будет быстрее, даже если вовсе отключить кэш (естественно у обоих алгоритмов).]]></description>
        <author>amk</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770517</guid>
        <pubDate>Tue, 29 May 2018 12:15:09 +0000</pubDate>
        <title>Некоторые уточнения про терпеливую сортировку</title>
        <link>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770517</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770514'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-05-29T11:56:05+00:00">29.05.18, 11:56</time></span><div class='quote '>хотя скорость у нее ТОПовая</div></div><br>
Была бы топовой - было бы больше информации о ней. Думаю, что даже самый банальный quicksort будет быстее из-за того, что он весьма локальный по отношению к кешу.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770514</guid>
        <pubDate>Tue, 29 May 2018 11:56:05 +0000</pubDate>
        <title>Некоторые уточнения про терпеливую сортировку</title>
        <link>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770514</link>
        <description><![CDATA[FasterHarder: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770314'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2018-05-26T22:22:15+00:00">26.05.18, 22:22</time></span><div class='quote '>В описании написано про массив стеков, а ты почему-то используешь список.</div></div><br>
это лишь пример&#33; просто в одном из описаний говорилось про СПИСОК СТЕКОВ&#33; Если будет список - не будет двоичного поиска для вставки очередного элемента в нужный стек ----&#62; резко ухудшаются показатели алгоритма сортировки&#33; Поэтому только одномерный массив, но он будет не статическим, т к кол-во элементов, которые нужно отсортировать заранее неизвестно. Придется делать динамический, но без расширения, иначе снова падает производительность. Придется сразу выделить памяти столько, чтобы вместились все элементы исходного массива, т к теоретически возможно, что кол-во стеков будет = кол-ву элементов, это будет в том случае, если элементы исходного массива уже упорядочены по возрастанию.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770314'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2018-05-26T22:22:15+00:00">26.05.18, 22:22</time></span><div class='quote '>Для выборки берётся стек из вершины пирамиды.</div></div><br>
ну, как бэ, что понимать под &quot;брать стек из вершины пирамиды&quot;, т к сам по себе стек как таковой не нужен, нужны элементы на его вершинах. Вообще, получается, что разные структуры данных будут ссылаться на одни и те же элементы.<br>
<br>
Грубо говоря, визуально может выглядеть так как-нить:<br>
<span class="b-attach" data-size="182548" data-hits="1164" data-attach-id="58795" data-attach-post-id="3770514">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=3770514&amp;attach_id=58795' title='Скачать файл' target='_blank'>__________________________________.jpg</a> (, : 1164)
		</span><br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770314'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2018-05-26T22:22:15+00:00">26.05.18, 22:22</time></span><div class='quote '>Там же написано - подпоследовательности. В подпоследовательности элементы совсем не обязательно должны выбираться подряд.</div></div><br>
а вот я не знаю, имеется ввиду смежные элементы должны быть или допустимы разрывы...ну, наверное, ты прав, что могут быть разрывы....<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770314'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2018-05-26T22:22:15+00:00">26.05.18, 22:22</time></span><div class='quote '>Сортировка, кстати, нестабильная</div></div><br>
нуууу, да, только неустойчивая вроде...<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770314'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2018-05-26T22:22:15+00:00">26.05.18, 22:22</time></span><div class='quote '>Кстати, самый плохой случай для алгоритма - уже отсортированная последовательность, тогда для каждой записи создаётся новый стек, и при выдаче приходится максимально пересыпать сортирующую пирамиду. С пирамидой, впрочем можно справиться, если использовать какую-нибудь другую реализацию приоритетной очереди. </div></div><br>
согласен полностью<br>
<br>
Только сдается мне, что терпеливая сортировка крайне непопулярна в принципе, т к ее описаний практически нету полноценных, хотя скорость у нее ТОПовая, разумеется, но кодировать не очень просто  :whistle: <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-05-29T12:07:11+00:00">29.05.18, 12:07</time></span></span><br>
Подытожим коротко все это:<br>
1. формируем одномерный массив, состоящий из стеков (для этого нужно 1 раз полностью просканировать исходный массив)<br>
2. получаем пирамиду, привязывая к ней стеки, причем просеивать ничего не нужно, т к элементы, стоящие на вершинах стека сами по себе образуются возрастающую последовательность<br>
3. берем элемент из вершины МИНИМАЛЬНОЙ пирамиды и засовываем в соот-щий элемент исходного массива.<br>
4. перестраиваем пирамиду<br>
5. когда в пирамиде не осталось элементов, то в исходном массиве элементы идут по возрастанию. Типа все&#33;<br>
<br>
*можно при большом желании еще получить саму НВП, но для этого придется чуток усложнить структуры данных либо использовать вспомогат.память...]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770314</guid>
        <pubDate>Sat, 26 May 2018 22:22:15 +0000</pubDate>
        <title>Некоторые уточнения про терпеливую сортировку</title>
        <link>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770314</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770299'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-05-26T14:44:51+00:00">26.05.18, 14:44</time></span><div class='quote '>для терпеливой сортировки потребуется одномерный массив СТЕКОВ (хотя структуры можно брать и др. типа невыровненного массива как в C#).<br>
Одномерный массив описывается динамическим односвязным списком (ЛОС).</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770299'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-05-26T14:44:51+00:00">26.05.18, 14:44</time></span><div class='quote '>В описании говорят, что находит стек, куда нужно вставлять текущее число массива, надо при помощи ДВОИЧНОГО ПОИСКА(дихотомия). Все бы ничего, но ведь мы используем СПИСОК,а у его элементов НЕТ встроенного индексатора&#33;</div></div> В описании написано про <strong class='tag-b'>массив</strong> стеков, а ты почему-то используешь <em class='tag-i'>список</em>. Стеков заводится не так много, так что ты не много потеряешь, если занесёшь указатели на них в массив (вектор). Это тем более имеет смысл, так как стеки в таком массиве всё время остаются упорядоченными по возрастанию своих вершин, и добавление в стек нового элемента этот порядок не нарушает. Да и новый стек если и добавляется, то только в конец массива.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770299'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-05-26T14:44:51+00:00">26.05.18, 14:44</time></span><div class='quote '>непонятно, на каком этапе сортировки нужно строить эту пирамиду?</div></div> На этапе слияния содержимого стеков. Создаётся приоритетная очередь стеков. При создании даже не надо делать перестройку пирамиды, стеки уже идут в нужном порядке. Для выборки берётся стек из вершины пирамиды. Если после извлечения данных стек не пуст, значение в вершине заменяется и пирамида пересыпается. Если пуст, в вершину перемещается вершина из конца и пирамида тоже пересыпается.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=412828&view=findpost&p=3770299'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-05-26T14:44:51+00:00">26.05.18, 14:44</time></span><div class='quote '>в исходном массиве нет ни одной цепочки НВП длиной 3</div></div> Там же написано - <strong class='tag-b'>подпоследовательности</strong>. В подпоследовательности элементы совсем не обязательно должны выбираться подряд. R примеру, в последовательности <span class="tag-color tag-color-named" data-value="blue" style="color: blue">1</span> 4 <span class="tag-color tag-color-named" data-value="blue" style="color: blue">2 3</span>, тоже создающей три стека, НВП отмечена цветом.<br>
В твоей последовательности несколько таких подпоследовательностей, например: <span class="tag-color tag-color-named" data-value="blue" style="color: blue">8</span> 90 16 89 <span class="tag-color tag-color-named" data-value="blue" style="color: blue">12</span> -8 55 <span class="tag-color tag-color-named" data-value="blue" style="color: blue">34</span><br>
<br>
Сортировка, кстати, нестабильная - меняет порядок равных элементов. После сортировки они оказываются в порядке, обратом исходному.<br>
<br>
Алгоритм хорош в том смысле, что тратит мало времени при вводе очередной порции данных, и так же немного тратит на выбор очередной записи в отсортированном порядке. И почти не имеет лага между вводом несортированных данных и выводом сортированных. Похожее поведение имеет алгоритм пирамидальной сортировки, но у него явно константы больше. С другой стороны, для организации приоритетной очереди он, похоже, не подходит - после выдачи части записей, перед вставкой новых наверняка потребуется переупорядочивание стеков. Хотя возможно, это переупорядочивание будет не так сильно тормозить алгоритм. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-05-26T22:27:01+00:00">26.05.18, 22:27</time></span></span><br>
Кстати, самый плохой случай для алгоритма - уже отсортированная последовательность, тогда для каждой записи создаётся новый стек, и при выдаче приходится максимально пересыпать сортирующую пирамиду. С пирамидой, впрочем можно справиться, если использовать какую-нибудь другую реализацию приоритетной очереди.]]></description>
        <author>amk</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770299</guid>
        <pubDate>Sat, 26 May 2018 14:44:51 +0000</pubDate>
        <title>Некоторые уточнения про терпеливую сортировку</title>
        <link>https://forum.sources.ru/index.php?showtopic=412828&amp;view=findpost&amp;p=3770299</link>
        <description><![CDATA[FasterHarder: Всем хай&#33; Сходу к делу&#33;<br>
Есть некоторые уточняющие вопросы относительно <strong class='tag-b'>терпеливой сортировки</strong>, хотя основная идея там понятна...<br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body">вообще по точному запросу &quot;<em class='tag-i'>терпеливая сортировка</em>&quot; гугл выдает 31 ответ, всего 31 ответ, Карл&#33;<br>
по запросу &quot;<em class='tag-i'>сортировка терпеливая</em>&quot; вообще 7.<br>
К примеру, по запросу &quot;<em class='tag-i'>быстрая сортировка</em>&quot; ответов 35 400, а, например, по запросу &quot;<em class='tag-i'>пирамидальная сортировка</em>&quot; 8 410 результатов.<br>
Т е я делаю вывод, что информации про ТЕРПЕЛИВУЮ сортировки нет, тупо ее около нуля...</div></div><br>
<br>
Как я понимаю, для <strong class='tag-b'>терпеливой сортировки</strong> потребуется одномерный массив СТЕКОВ (хотя структуры можно брать и др. типа невыровненного массива как в C#).<br>
Одномерный массив описывается динамическим односвязным списком (ЛОС).<br>
Пример описания такой структуры данных на языке Паскаль/Дельфи:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp; &nbsp;TPtrStack = ^TStack;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TStack = record &nbsp; &nbsp; // описание стека для хранения стопки целых чисел</div><div class="code_line">// сортируем целые числа, хотя можно взять ЛЮБОЙ тип данных, в том числе и составной &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;inf: integer; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;link: TPtrStack; &nbsp; &nbsp;// указатель на след.элемент стека (типа ниже)</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TPtrList = ^TList;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TList = record &nbsp; &nbsp; &nbsp;// ЛОС для связи стеков целых чисел</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;stack : TStack; &nbsp; &nbsp; // в качестве информ.поля выступает стек целых чисел</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;next: TPtrList; &nbsp; &nbsp; // указатель на след.элемент списка стеков</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">begin</div><div class="code_line">end.</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
<strong class='tag-b'><span class="tag-color tag-color-named" data-value="blue" style="color: blue">Пример: нужно отсортировать patience sorting следующие данные</span></strong><br>
    8   90  16  89  12  -8  55  34<br>
До обработки ЛОС пуст, т е ЛОС = NIL. В нет нет ни одного стека/стопки.<br>
обработка 1-го элемента: 8<br>
ЛОС<br>
    1 стек: 8<br>
------------------------------<br>
обработка 2-го элемента: 90<br>
ЛОС<br>
    1 стек: 8<br>
    2 стек: 90<br>
------------------------------<br>
обработка 3-го элемента: 16<br>
ЛОС<br>
    1 стек: 8<br>
    2 стек: 90  16<br>
------------------------------<br>
обработка 4-го элемента: 89<br>
ЛОС<br>
    1 стек: 8<br>
    2 стек: 90  16<br>
    3 стек: 89<br>
------------------------------<br>
обработка 5-го элемента: 12<br>
ЛОС<br>
    1 стек: 8<br>
    2 стек: 90  16  12<br>
    3 стек: 89<br>
------------------------------<br>
обработка 6-го элемента: -8<br>
ЛОС<br>
    1 стек: 8   -8<br>
    2 стек: 90  16  12<br>
    3 стек: 89<br>
------------------------------<br>
обработка 7-го элемента: 55<br>
ЛОС<br>
    1 стек: 8   -8<br>
    2 стек: 90  16  12<br>
    3 стек: 89  55<br>
------------------------------<br>
обработка 8-го (последнего) элемента: 34<br>
ЛОС<br>
    1 стек: 8   -8<br>
    2 стек: 90  16  12<br>
    3 стек: 89  55  34<br>
=====================================<br>
Т е в данном случае для обработки 8 элементов потребовалось задействовать 3 стека.<br>
<strong class='tag-b'>Правило вставки простое:</strong> просматриваются стеки от №1 вниз и, если текущее число меньше числа на вершине текущего стека, то добавляем текущее число в вершину этого стека.<br>
Также нужно заметить, что элементы, стоящие на вершинах стека идут на возрастание.<br>
ТАК ВОТ&#33; В описании говорят, что находит стек, куда нужно вставлять текущее число массива, надо при помощи ДВОИЧНОГО ПОИСКА(дихотомия). Все бы ничего, но ведь мы используем <span class='tag-u'>СПИСОК</span>,а у его элементов НЕТ встроенного <span class='tag-u'>индексатора</span>&#33;<br>
<strong class='tag-b'><span class="tag-color tag-color-named" data-value="red" style="color: red">Поэтому приходится искать нужный стек только полным сканированием всех стеков, начиная от №1 и дальше??</span></strong><br>
Если бы вместо списка использовался массив, тогда да, можно было бы воспользоваться дихотомией. Или в данном случае использование ЛОС неоправданно и нужно использовать динамический массив, элементы которого TStack<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; &nbsp;list: array of TStack;</div></ol></div></div></div></div><br>
и в программе просто расширять его, когда добавляется новый стек для чисел.<br>
На этом 1-й этап терпеливой сортировки закончен.<br>
==========================================================    <br>
Сейчас нужно &quot;вынимать&quot; минимальный элемент среди всех вершинных элементов и записывать в результирующий массив.<br>
Я могу это легко сделать, если постоянно обходить все вершинные элементы и находить среди них минимальный. Но это будет крайне неэффективно вроде.<br>
В описании говорят, что мол надо задействовать <span class='tag-u'>бинарную кучу</span> (пирамиду) для поиска минимальных. <br>
<span class="tag-color tag-color-named" data-value="red" style="color: red"><strong class='tag-b'>Но мне непонятно, на каком этапе сортировки нужно строить эту пирамиду?</strong></span><br>
<br>
И последнее, говорится, что количество стеков/стопок показывает длину наибольшей возрастающей подпоследовательности в исходном массиве.<br>
У меня в примере 3 стопки, но в исходном массиве нет ни одной цепочки НВП длиной 3.. <strong class='tag-b'><span class="tag-color tag-color-named" data-value="red" style="color: red">странно</span></strong>...<br>
<br>
В целом интересный алгоритм, но его нужно кодировать с применением правильных структур данных<br>
спс. за внимание&#33;]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	