Сортировка выбором (Selection sort) — алгоритм сортировки. Может быть как устойчивый, так и неустойчивый. На массиве из n элементов имеет время выполнения в худшем, среднем и лучшем случае Θ(n2), предполагая что сравнения делаются за постоянное время.
Быстрая сортировка, сортировка Хоара, часто называемая qsort — алгоритм сортировки, разработанный английским информатиком Чарльзом Хоаром во время его работы в МГУ в 1960 году.
Сортировка вставками — алгоритм сортировки, в котором элементы входной последовательности просматриваются по одному, и каждый новый поступивший элемент размещается в подходящее место среди ранее упорядоченных элементов. Вычислительная сложность — .
Сортировка слиянием — алгоритм сортировки, который упорядочивает списки в определённом порядке. Эта сортировка — хороший пример использования принципа «разделяй и властвуй». Сначала задача разбивается на несколько подзадач меньшего размера. Затем эти задачи решаются с помощью рекурсивного вызова или непосредственно, если их размер достаточно мал. Наконец, их решения комбинируются, и получается решение исходной задачи.
Жадный алгоритм — алгоритм, заключающийся в принятии локально оптимальных решений на каждом этапе, допуская, что конечное решение также окажется оптимальным. Известно, что если структура задачи задается матроидом, тогда применение жадного алгоритма выдаст глобальный оптимум.
Алгоритм Кнута — Морриса — Пратта (КМП-алгоритм) — эффективный алгоритм, осуществляющий поиск подстроки в строке, используя то, что при возникновении несоответствия само слово содержит достаточно информации, чтобы определить, где может начаться следующее совпадение, минуя лишние проверки. Время работы алгоритма линейно зависит от объёма входных данных, то есть разработать асимптотически более эффективный алгоритм невозможно.
Сортировка подсчётом — алгоритм сортировки, в котором используется диапазон чисел сортируемого массива (списка) для подсчёта совпадающих элементов. Применение сортировки подсчётом целесообразно лишь тогда, когда сортируемые числа имеют диапазон возможных значений, который достаточно мал по сравнению с сортируемым множеством, например, миллион натуральных чисел меньших 1000.
Блочная сортировка — алгоритм сортировки, в котором сортируемые элементы распределяются между конечным числом отдельных блоков так, чтобы все элементы в каждом следующем по порядку блоке были всегда больше, чем в предыдущем. Каждый блок затем сортируется отдельно, либо рекурсивно тем же методом, либо другим. Затем элементы помещаются обратно в массив. Этот тип сортировки может обладать линейным временем исполнения.
Топологическая сортировка — упорядочивание вершин ациклического ориентированного графа согласно частичному порядку, заданному рёбрами орграфа на множестве его вершин.
Чарльз Э́рик Ле́йзерсон — американский специалист в области информатики. Профессор Массачусетского технологического института. Специализируется на теории параллельных и распределённых вычислений и частично — практическим её применениях. Работая в этом направлении, разработал язык программирования Cilk для многопоточных вычислений, который использует один из лучших алгоритмов захвата задачи при планировании.
Томас Ко́рмен — профессор, американский специалист по компьютерным наукам, преподаёт в Дартмутском колледже. Также занимает место директора по написанию программ в этом учреждении. Кормен получил степень бакалавра в Принстоне (1978), магистра (1986) и доктора философии (1992) в Массачусетском технологическом институте. Вместе с Чарльзом Лейзерсоном, Рональдом Ривестом и Клиффордом Штайном он — соавтор знаменитой в среде программистов книги «Алгоритмы: построение и анализ».
Клиффорд Штайн — профессор, американский специалист в области компьютерных наук. В настоящее время преподаёт в Колумбийском университете (Нью-Йорк), а ранее вёл курсы в Дартмутском колледже (Нью-Гэмпшир). Получил степень бакалавра в Принстоне в 1987 году, магистра — в Массачусетском технологическом институте и доктора философии — там же в 1992.
Ро́нальд Линн Риве́ст — американский специалист по криптографии. Имеет звание «профессора имени Эндрю и Эрны Витерби по компьютерным наукам» на «факультете электротехники и компьютерных наук» MIT и состоит в штате кафедры CSAIL в MIT. С 2015 года Институтский профессор MIT. Также является членом лаборатории «Теория вычислений» и лидером группы «Криптография и информационная безопасность».
Система непересекающихся множеств — структура данных, которая позволяет администрировать множество элементов, разбитое на непересекающиеся подмножества. При этом каждому подмножеству назначается его представитель — элемент этого подмножества. Абстрактная структура данных определяется множеством трёх операций: .
Алгоритм Бентли — Оттманна (1979) позволяет найти все точки пересечений прямолинейных отрезков на плоскости. В нем применяется метод выметающей прямой. В методе используется вертикальная выметающая прямая, движущаяся слева направо, при этом отрезки, которые она пересекает при данной координате , можно упорядочить по координате , тем самым их можно сравнивать между собой. Это сравнение можно осуществить, например, используя уравнение прямой, проходящей через две точки : , где , и , — координаты, соответственно, первой и второй точек отрезка. Выметающая прямая перемещается по так называемым точкам событий. После точки пересечения отрезки следует менять местами, так как, например, самый верхний из пересекающихся отрезков после точки пересечения становится самым нижним. Приведенный ниже алгоритм не рассчитан на случай, когда два отрезка пересекаются больше, чем в одной точке.
Минимальное остовное дерево в связанном взвешенном неориентированном графе — это остовное дерево этого графа, имеющее минимальный возможный вес, где под весом дерева понимается сумма весов входящих в него рёбер.
Сортировка с помощью двоичного дерева — универсальный алгоритм сортировки, заключающийся в построении двоичного дерева поиска по ключам массива (списка), с последующей сборкой результирующего массива путём обхода узлов построенного дерева в необходимом порядке следования ключей. Данная сортировка является оптимальной при получении данных путём непосредственного чтения из потока.
Алгори́тмы: построе́ние и ана́лиз — книга по алгоритмам и структурам данных, написанная Томасом Корменом, Чарльзом Лейзерсоном, Рональдом Ривестом и Клиффордом Штайном. Книга используется во многих учебных заведениях в качестве пособия и справочника, на книгу имеется более 4000 ссылок на CiteSeerX.