Линейный поиск, бинарный поиск. Сравнение эффективности. Реализация на C.

September 10, 2018 23:23

Двоичный или бинарный поиск - один из эффективных и очень мощных методов. И понять это, весьма, несложно. Разберем на простом примере: есть массив из 1023 элементов. После первого прохода алгоритма область сравнения сужается до 511 элементов. Каждый последующий раз уменьшает эту область еще в два раза. Следовательно на поиск элемента уйдет всего 10 сравнений.

Линейный (последовательный поиск) - это алгоритм нахождения значения произвольной функции на определенном отрезке. Является одним из простейших алгоритмов поиска. Поиск значения функции осуществляется сравнением очередного рассматриваемого значения и, если значения совпадают, то поиск считается завершённым.

Сортировка пузырьком, быстрая сортировка, сортировка вставками, сортировка выбором - реализация и сравнение на C.

September 9, 2018 13:30

В данной статье мы подготовили для Вас реализацию и сравнение различных сортировок на языке программирования C по различным критериям: числу сравнений, числу перестановок и времени выполнения.

Одной из простейших сортировок является "сортировка пузырьком". Принцип ее работы заключается в том, что алгоритм идет по массиву снизу вверх и по пути проверяет пары рядом стоящих элементов (соседних). Если получается так, что в паре элементы находятся в неверном порядке - они меняются между собой местами.

Реализация алгоритма RLE на C. Алгоритм сжатия RLE на C

September 9, 2018 01:00

Алгоритм RLE - простейший из всех алгоритмов сжатия. Принцип его работы заключается в кодировании повторов. Это значит, что последовательность одинаковых значений превращается в пару (количество, символ). Чтобы показать это наглядно, попробуем разобрать пример.

Дано: строка AAABCCC. Получить: сжатую строку.

Решение олимпиадной задачи на Python

September 6, 2018 21:23

Условие: есть 2 платформы грузоподъемностью 200, есть список оборудования.

Формат списка: id, вес, список id несовместимых, полезность.

LZ77 на C, реализация алгоритма LZ77 на C

September 6, 2018 21:08

LZ77 и LZ78 — алгоритмы сжатия без потерь, опубликованные в статьях израильских математиков Авраама Лемпеля и Яакова Зива в 1977 и 1978 годах. Эти алгоритмы — наиболее известные варианты в семействе LZ*, которое включает в себя также LZW, LZSS, LZMA и другие алгоритмы.

Оба алгоритма относятся к словарным методам, в отличие от других методов уменьшения избыточности, таких как RLE и арифметическое сжатие. LZ77 является алгоритмом со «скользящим окном», что эквивалентно неявному использованию словарного подхода, впервые предложенного в LZ78.