<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3AKiryan%2F%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8</id>
	<title>Участник:Kiryan/Алгоритм сортировки вставками - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3AKiryan%2F%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8"/>
	<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Kiryan/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8&amp;action=history"/>
	<updated>2026-10-22T18:54:31Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Kiryan/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8&amp;diff=29838&amp;oldid=prev</id>
		<title>Kiryan: Новая страница: «Основные авторы описания: Деревянкин К.Е.  #  == Свойства и структура алгоритмов == &#039;&#039;&#039; === Обще...»</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Kiryan/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8&amp;diff=29838&amp;oldid=prev"/>
		<updated>2025-11-03T11:52:06Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Основные авторы описания: Деревянкин К.Е.  #  == Свойства и структура алгоритмов == &amp;#039;&amp;#039;&amp;#039; === Обще...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Основные авторы описания: Деревянкин К.Е.&lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
== Свойства и структура алгоритмов ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Общее описание алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Сортировка вставками&amp;#039;&amp;#039;&amp;#039; (англ. &amp;#039;&amp;#039;Insertion sort&amp;#039;&amp;#039;) — алгоритм сортировки, в котором элементы входной последовательности просматриваются по одному, и каждый новый поступивший элемент размещается в подходящее место среди ранее упорядоченных элементов.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Математическое описание алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Пусть задано множество: S = {x₁, x₂, ..., xₙ} ⊆ X, где (X, ≼) — линейно упорядоченное множество. Требуется найти биекцию π: {1,2,...,n} → {1,2,...,n} такую, что: x&amp;lt;sub&amp;gt;π(1)&amp;lt;/sub&amp;gt; ≼ x&amp;lt;sub&amp;gt;π(2)&amp;lt;/sub&amp;gt; ≼ ... ≼ x&amp;lt;sub&amp;gt;π(n)&amp;lt;/sub&amp;gt;. &lt;br /&gt;
Алгоритм сортировки вставками можно представить как последовательность преобразований массива A:&lt;br /&gt;
&lt;br /&gt;
A&amp;lt;sup&amp;gt;(0)&amp;lt;/sup&amp;gt; = A&lt;br /&gt;
&lt;br /&gt;
A&amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt; = INSERT(A&amp;lt;sup&amp;gt;(0)&amp;lt;/sup&amp;gt;, 1)&lt;br /&gt;
&lt;br /&gt;
A&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt; = INSERT(A&amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt;, 2)&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
A&amp;lt;sup&amp;gt;(n-1)&amp;lt;/sup&amp;gt; = INSERT(A&amp;lt;sup&amp;gt;(n-2)&amp;lt;/sup&amp;gt;, n-1),&lt;br /&gt;
&lt;br /&gt;
где операция INSERT определяется как: INSERT(B, k) = [b₀, b₁, ..., b&amp;lt;sub&amp;gt;j-1&amp;lt;/sub&amp;gt;, b&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;, b&amp;lt;sub&amp;gt;j&amp;lt;/sub&amp;gt;, ..., b&amp;lt;sub&amp;gt;k-1&amp;lt;/sub&amp;gt;, b&amp;lt;sub&amp;gt;k+1&amp;lt;/sub&amp;gt;, ..., b&amp;lt;sub&amp;gt;m-1&amp;lt;/sub&amp;gt;], где j = max{i ∈ {0,1,...,k} | ∀l &amp;lt; i: b&amp;lt;sub&amp;gt;l&amp;lt;/sub&amp;gt; ≼ b&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;} ∪ {-1} + 1&lt;br /&gt;
&lt;br /&gt;
После k-й итерации внешнего цикла (0 ≤ k ≤ n-1) выполняется:&lt;br /&gt;
 &lt;br /&gt;
# Элемент маркированного списка&lt;br /&gt;
# Подмассив A[0..k] отсортирован: ∀i,j ∈ {0,...,k}: i &amp;lt; j ⇒ A[i] ≼ A[j]&lt;br /&gt;
Множество элементов в A[0..k] есть перестановка исходных элементов A&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;[0..k]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Вычислительное ядро алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Вычислительное ядро алгоритма сортировки вставками составляет операция вставки элемента в отсортированную последовательность, которая выполняется на каждой итерации внешнего цикла.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Макроструктура алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Схема реализации последовательного алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Последовательная сложность алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Информационный граф ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Ресурс параллелизма алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Входные и выходные данные алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Свойства алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# &lt;br /&gt;
== Программная реализация алгоритма ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Особенности реализации последовательного алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Возможные способы и особенности параллельной реализации алгоритма ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Результаты прогонов ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
=== Выводы для классов архитектур ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# &lt;br /&gt;
== Литература ==&lt;br /&gt;
Knuth D.E. The Art of Computer Programming. Volume 3: Sorting and Searching. – 2nd ed. – Addison-Wesley, 1998. – 780 p.&lt;/div&gt;</summary>
		<author><name>Kiryan</name></author>
	</entry>
</feed>