Здесь представлен список базовых алгоритмов для тех, кто вовсе не знаком с алгоритмами, и нуждается в более крепком фундаменте знаний. После того как вы будете знать и уметь реализовывать эти алгоритмы, то вы станете на порядок сильнее. У вас будет меньше проблем с программированием в целом, так как узнаете некоторые техники того как вообще можно писать код, а также будет проще пройти собеседование.

1) Алгоритмы сортировки: пузырьком, слиянием и quicksort

И первым делом стоит изучить алгоритмы сортировки. А именно всеми любимым "пузырьком", слиянием и quicksort. Сортировка пузырьком - это скорее учебный алгоритм, но для знакомства с таким понятием как "сортировка" подойдет как никогда. По принципу очень прост, реализовываются не сложно. Сортировка слиянием. Уже более сложный принцип, более сложная реализация, и работает соответственно намного быстрее. Ну и быстрая сортировка. Используется везде, где упоминается слово сортировка, а также часто спрашивают на собеседовании.

2) Последовательность Фибоначчи

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

3) Алгоритм нахождения факториала

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

4) Алгоритмы поиска: линейный и бинарный

Выбор пал именно на эти два алгоритма поиска, потому что они самые логичные, популярные и простые алгоритмы .Самих алгоритмов поиска, конечно же, намного больше и конкретный алгоритм относится к конкретным структурам данных, то есть для работы с графами, с деревьями, или же с массивами. Итак, линейный и бинарный поиск - классика алгоритмов поиска. Линейный поиск - это очень медленная штука, бинарный намного быстрее, относительно линейного. Их реализацию у вас могут попросить в какой-то захудалой конторе, потому что это просто, популярно, и вы просто обязаны это знать. Как разберетесь с этими двумя алгоритмами поиска, поймете разницу ними, скорость их работы, минусы и плюсы(в случае с линейным - плюсов нет никаких, такая вам подсказка), то можете перейти на более сложные алгоритмы поиска, или же изучить:

5) Алгоритм переворота строки

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

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

Автор: DmitriyLebed


 Похожие публикации
2017-06-02 • Просмотров [ 467 ]