<?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=418322&amp;view=findpost&amp;p=3831381</guid>
        <pubDate>Mon, 25 May 2020 10:16:40 +0000</pubDate>
        <title>Как оцениваются комбинированные алгоритмы сортировки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=418322&amp;view=findpost&amp;p=3831381</link>
        <description><![CDATA[Black_Dragon: Для начала надо с трактовкой определиться.<br>
Либо это выбор одного из существующих алгоритмов, в зависимости от размера данных, как говорил <strong class='tag-b'>MBo</strong><br>
Либо это что-то объединенное, &quot;закрученное&quot;, как пишет <strong class='tag-b'>amk</strong>.<br>
Ну, а так, можно построить график зависимости от тестов. Визуально определить чем его описать. :lol:]]></description>
        <author>Black_Dragon</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418322&amp;view=findpost&amp;p=3829308</guid>
        <pubDate>Sun, 26 Apr 2020 16:08:56 +0000</pubDate>
        <title>Как оцениваются комбинированные алгоритмы сортировки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=418322&amp;view=findpost&amp;p=3829308</link>
        <description><![CDATA[amk: Вообще-то алгоритм сортировки в Python ещё немного более сложен.<br>
<br>
Для начала ищутся строго убывающие последовательности. Эти последовательности сортируются просто обратной перестановкой.<br>
Потом производится разбивка на возрастающие серии, составляется оптимальный порядок объединения. Первыми при этом объединяются короткие пары.<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="2020-04-26T16:09:44+00:00">26.04.20, 16:09</time></span></span><br>
Производится это параллельно по мере обнаружения описанных подцепочек]]></description>
        <author>amk</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418322&amp;view=findpost&amp;p=3829224</guid>
        <pubDate>Sat, 25 Apr 2020 06:24:19 +0000</pubDate>
        <title>Как оцениваются комбинированные алгоритмы сортировки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=418322&amp;view=findpost&amp;p=3829224</link>
        <description><![CDATA[MBo: Сортировка вставками используется на малых фрагментах, скажем, порядка 100 элементов. Для каждого из таких фрагментов она выполнится быстрее, чем более сложные сортировки, т.к. у неё меньше накладные расходы (множитель для выражения со сложностью, который обычно опускают).<br><br> Таким образом общее время немного уменьшается,  сложность O(n*log(n)) сохраняется, потому что на вставки тратится в данном случае n/100 * 100^2 = 100*n - т.е. линейное время от общего количества элементов.]]></description>
        <author>MBo</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418322&amp;view=findpost&amp;p=3829128</guid>
        <pubDate>Fri, 24 Apr 2020 15:55:29 +0000</pubDate>
        <title>Как оцениваются комбинированные алгоритмы сортировки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=418322&amp;view=findpost&amp;p=3829128</link>
        <description><![CDATA[JoeUser: Всем прива&#33;<br>
<br>
Собственно - сабж. Давайте на примере <a class='tag-url' href='https://ru.wikipedia.org/wiki/Timsort' target='_blank'>Timsort</a>. Вот цитата из вики:<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Сортировка Timsort (англ. Timsort) — комбинированный алгоритм (используется сортировка вставками и сортировка слиянием). Сложность алгоритма: O(n*log(n)). Требуется O(n) дополнительной памяти. Разработан для использования в языке Python[14].</div></div><br>
Собственно, вопрос: сабж&#33; <br>
<br>
В данном случае имеем два алгоритма, которые &quot;сочетаем&quot;:  <br>
<br>
1) Сортировка вставками - вычислительная сложность O(n²)<br>
2) Сортировка слиянием - вычислительная сложность O(n*log(n))<br>
<br>
Откуда - результирующий O(n*log(n))?]]></description>
        <author>JoeUser</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	