Сортировка пузырьком (англ. Bubble sort) — для каждой пары индексов производится обмен, если элементы расположены не по порядку. Сложность алгоритма:
Сортировка перемешиванием (англ. Cocktail sort). Сложность алгоритма:
Сортировка вставками (англ. Insertion sort) — определяем, где текущий элемент должен находиться в упорядоченном списке, и вставляем его туда. Сложность алгоритма:
Гномья сортировка (англ. Gnome sort; первоначально опубликована под названием «глупая сортировка» [stupid sort] за простоту реализации) — сходна с сортировкой вставками. Сложность алгоритма рекурсивная версия требует дополнительно {\displaystyle памяти.
Сортировка слиянием (англ. Merge sort) — выстраиваем первую и вторую половину списка отдельно, а затем объединяем упорядоченные списки. Сложность алгоритма: . Требуется дополнительной памяти.
Сортировка с двоичного дерева (англ. Tree sort). Сложность алгоритма: в лучшем случае, a в худшем. Требуется O(n) дополнительной памяти.
Сортировка Timsort (англ. Timsort) — комбинированный алгоритм (используется сортировка вставками и сортировка слиянием). Сложность алгоритма. Требуется дополнительной памяти. Разработан для использования в языке Python.
Var a,p,n,i:integer; begin p := 0; n := 0; for i := 1 to 15 do begin read(a); if a mod 3 = 0 then if a > 0 then p := p + 1 else if a < 0 then n := n + 1 end; if p > n then writeln('Положительных') else if p < n then writeln('Отрицательных') else writeln('Одинаково') end.
{вариант "как-то посложнее"}
var a,i,s:integer; begin s := 0; for i := 1 to 15 do begin read(a); s := s + ord(a mod 3 = 0) * (ord(a > 0) - ord(a < 0)) end; if s > 0 then writeln('Положительных') else if s < 0 then writeln('Отрицательных') else writeln('Одинаково') end.
Рассмотрим подробнее 1 этап – по с 1730-40-х годы 18 века. С точки зрения современного человека – отсталая экономика, отсталое мануфактурное производство. Английские авторы показали, что экономика в этот период в европейских странах была с высокой степенью энергонасыщенности. Примерно действовало до 600 тысяч ветряных и водяных мельниц, в том числе колеса диаметром до 10-12 метров. Фактически на каждые 23 рабочих приходился 1 движитель – водяной или ветряной. Впервые первые при специализация инструментов начинается в текстильном производстве. Производство различных видов пряжи и тканей требует различных специальных приемов и инструментов. Отсюда идет диверсификация, т.е. разнообразие инструментов, которыми чешут, прядут, ткут и т.п. Наличие механических двигателей, водяных или ветряных развитию токарного искусства в виде токарных или примитивно-токарных станков. Дело в том, что кость, дерево или металл закрепляют во вращающемся шпинделе, а резец подводят рукой. Так точил свои изделия Петр 1 в токарной мастерской. Наличие этих водяных двигателей мощных позволяет развивать металлообработку. В Германии и в Швеции в начале 18 века изобретают водяные ножницы, которые могут резать полосовое железо, стальную проволоку. С начала 18 века в Швейцарии и других германских землях, а затем во всей Европе начинают отливать пушечные стволы и высверливать их, сначала вертикально, а затем горизонтально. Тогда же начинаются первые попытки создания нового двигателя – парового двигателя. Впервые очень примитивный паровой двигатель был изобретен Блазом Декараем в Испании в 1556 году. А к концу 17 - середине 18 века уже действовали паровые машины, в том числе ввозились в Россию с Запада, правда с низким КПД (коэффициент полезного действия), около 1%. Эти паровые машины использовали в частности для осушения доков, шахт у нас в Кронштадте. И на Урале. Этот водяной, ветряной двигатель – встал вопрос о передаче этой энергии движения на рабочие колеса, инструменты и т.д. Поэтому к середине 17 века усовершенствуется цепная передача (как в велосипеде). С середины-2-й половины 18 века начинает широко применяться ременная передача (натянутый ремень) и всевозможные зубчатые шестерни, зацепления, которые энергию движения передают. А в начале 18 века в 1710 году изобретаются роликовые, а в 1734 году шариковые подшипники, которые позволяют передавать движение с наименьшей потерей энергии. Тогда же появляются первые пред-рабочие машины. Сначала в Голландии и в Германских землях. 17 век – в Утрехте создается машина, которая автоматически прядет веревки, канаты. В Нюренберге в 1685 году создается машина, которая из проволоки автоматически делает гвозди со шляпками. До этого гвозди штучно выковывали в кузницах. Однако на этих территориях сложились очень серьезные вековые традиции, а это означает, что ремесленники выступают против введения этих машин, которые резко ускоряют производительность труда и оставляют ремесленников без рынка сбыта. Поэтому первоначально эти машины запрещаются, публично сжигаются. А в Англии, которая к этому времени уже покончила с этими традиционными цеховыми ограничениями, эти машины встречаются «на ура». И английская, более конкуренто продукция поступает на европейские рынки, и заставляет европейцев пересматривать свое отношение в вопросах введения рабочих машин.
7
Объяснение:
Алгоритмы устойчивой сортировки :
Сортировка пузырьком (англ. Bubble sort) — для каждой пары индексов производится обмен, если элементы расположены не по порядку. Сложность алгоритма:
Сортировка перемешиванием (англ. Cocktail sort). Сложность алгоритма:
Сортировка вставками (англ. Insertion sort) — определяем, где текущий элемент должен находиться в упорядоченном списке, и вставляем его туда. Сложность алгоритма:
Гномья сортировка (англ. Gnome sort; первоначально опубликована под названием «глупая сортировка» [stupid sort] за простоту реализации) — сходна с сортировкой вставками. Сложность алгоритма рекурсивная версия требует дополнительно {\displaystyle памяти.
Сортировка слиянием (англ. Merge sort) — выстраиваем первую и вторую половину списка отдельно, а затем объединяем упорядоченные списки. Сложность алгоритма: . Требуется дополнительной памяти.
Сортировка с двоичного дерева (англ. Tree sort). Сложность алгоритма: в лучшем случае, a в худшем. Требуется O(n) дополнительной памяти.
Сортировка Timsort (англ. Timsort) — комбинированный алгоритм (используется сортировка вставками и сортировка слиянием). Сложность алгоритма. Требуется дополнительной памяти. Разработан для использования в языке Python.