Алгоритмы и структуры данных


Данный курс перезапускаться не будет. Вместо него мы подготовили улучшенную версию — курс «Алгоритмы: теория и практика. Методы».
Курс знакомит слушателей с базовыми алгоритмами (метод «разделяй и властвуй», поиск в массиве, сортировка массива, алгоритмы на графах) и структурами данных (расширяющийся массив,…
5-7 часов в неделю
Certificate Stepik

About this course

Данный курс — это модификация первой части базового курса «Алгоритмы и структуры данных», читающегося в Computer Science Center.

Раз вы уже здесь, нет смысла подробно объяснять, почему важно знать алгоритмы. И всё же в двух словах: без алгоритмов был бы невозможен технологический прогресс; алгоритмы используются практически во всех областях computer science (например, в криптографии, анализе текстов, изображений и видео, биоинформатике); каждый уважающий себя программист должен знать базовые алгоритмы и структуры данных, чтобы писать эффективные программы.

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

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

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

Мы благодарны компании JetBrains, при поддержке которой подготовлен данный курс, а также команде Стэпика и Сергею Аганезову за помощь в подготовке.

Who is this course for

Студенты младших курсов и школьники.

Часть задач курса состоит в реализации изученных алгоритмов. Для этого можно использовать один их следующих языков программирования: C++, Java, Python, Octave, Haskell.

Meet the Instructors

Course content

loading...

Certificate

Computer Science Center
Free

Share this course