[itvdn] Практикум по Алгоритмам (2020)

betonys

Member
Jessy J
Joined
Feb 2, 2019
Messages
533
Reaction score
68
Курс предназначен для начинающих программистов, студентов, изучающих компьютерные науки, а также для IT-инженеров, которые желают понять, как решать комбинаторные задачи и оптимизировать алгоритмы.

Предварительные требования

  • Базовые знания языка программирования C#.
  • Математика и логика в объёме школьной программы.
Курс состоит из двух частей. В первой мы рассматриваем способы “универсального” решения комбинаторных задач методом полного перебора и способы оптимизации этих алгоритмов. Во второй части мы задействуем метод динамического программирования с рекурсией, который позволит создавать поистине быстрые и эффективные алгоритмы поиска.

Комбинаторные алгоритмы (Уроки 1-5).
Комбинаторика изучает варианты размещения объектов. Комбинаторные алгоритмы подразумевают перебор всех вариантов расположения объектов и поиск оптимального решения, которое удовлетворяет заданным условиям. Комбинаторные задачи в программировании встречаются очень часто. Задача минимум для любого программиста - уметь их решать полным перебором и применять методы оптимизации этих алгоритмов.

Динамическое программирование. (Уроки 6-10).
Алгоритмы полного перебора пишутся просто, но работают слишком долго. Применяя метод динамического программирования можно значительно ускорить время поиска решения. Идея заключается в том, чтобы разделить исходную задачу на несколько таких же, но с меньшими начальными данными. Для создания таких алгоритмов обычно используется рекурсия.
В курсе гармонично переплетается теория и практика, рассматриваются методы оптимизации алгоритмов, есть визуализация циклических и рекурсивных алгоритмов, рассмотрены способы создания искусственного интеллекта для игры в настольную игру, а также контрольная работа в виде сеанса “спортивного программирования” для закрепления материала.
Алгоритмы, которые мы рассматриваем в данном курсе, можно реализовать на любом языке программирования. Мы будем писать программы на языке С#, базовых знаний которого будет вполне достаточно для понимания материала.

You need to log in to view the content.
 

Машунічка

New member
Joined
Apr 8, 2011
Messages
4
Reaction score
0
I just started watching the course, and the section on dynamic programming is a solid reminder that practice makes perfect. Has anyone gone through the practice problems and can share some tips on how to tackle the NP-complete ones? Would love to see some examples of efficient solutions.
 

сергей 22

New member
Joined
Feb 11, 2007
Messages
4
Reaction score
0
"Lol, I know some of you guys might find this old, but I'm actually taking a course on this right now. The practice problems are super helpful, especially if you're trying to get a feel for how to implement different algorithms in code. Does anyone have any favorite resources or tips for tackling these kinds of challenges?"
 

fey

New member
Joined
Jan 25, 2007
Messages
3
Reaction score
0
"I'm a bit rusty with my Russian, but I found some awesome notes and code examples on GitHub for the 2020 Practical Course in Algorithms. Does anyone know if there's an English translation available or if anyone's created a similar course?"
 
Top