Сегодня мы узнаем о некоторых основных алгоритмах, которые должен знать каждый разработчик. Алгоритмы - частая тема интервью. Так что вам стоит сосредоточиться на этой теме. Хорошее понимание алгоритмов может помочь разработчику хорошо работать.

Факториал

Это один из основных алгоритмов. Но иногда вас могут спросить, как найти факториал числа. Так что же такое факториальное число?

Факториал любого числа равен этому числу, умноженному на факториал (это число минус 1). вы умножаете это число на каждое последующее число минус один.

Итак, каков факториал числа 5?

5! = 5 * 4 * 3 * 2 * 1

Итеративная реализация

Рекурсивная импментация

Число Фибоначчи

В математике числа Фибоначчи - это числа в следующей целочисленной последовательности, называемой последовательностью Фибоначчи, и характеризующейся тем, что каждое число после первых двух является суммой двух предыдущих:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ....

Итеративная реализация

Рекурсивная реализация

Линейный поиск

В информатике линейный поиск или последовательный поиск - это метод поиска целевого значения в списке. Он последовательно проверяет каждый элемент списка на предмет целевого значения, пока не будет найдено совпадение или пока не будут найдены все элементы.

Сложность времени: O(n) - поскольку в худшем случае мы проверяем каждый элемент ровно один раз.

Реализация

Бинарный поиск

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

Для реализации бинарного поиска массив необходимо отсортировать

Сложность времени: O(log(n)) - поскольку мы разделяем область поиска на две для каждой следующей итерации.

Реализация

Пузырьковая сортировка

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

Сложность времени: O(n^2)

Реализация

Выбор Сортировка

Сортировка выбора - это алгоритм сортировки, в частности сортировка на месте сравнения.

Сложность времени: O(n^2)

Реализация

Вставка сортировки

Сортировка вставкой - это метод сортировки массива путем деления массива на «отсортированную» часть и «несортированную» часть. Затем мы сравниваем несортированный элемент, чтобы увидеть, больше ли он, чем предыдущий элемент, если нет, мы вставляем новый элемент. В основном мы смотрим слева направо и сортируем по мере продвижения.

Сложность времени: O(n^2)

Реализация

Это все на сегодня. Спасибо за прочтение.