Subject · Information security

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

İFS-2226yn-RU6 creditsAutumn semesterElective2

Topic plan

The subject's topics and the learning outcomes attached to each one.

8 topics
  1. 1. Введение в алгоритмы и структуры данных. алгоритмически неразрешимые задачи

    Lecture

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

  2. 2. Структуры данных

    Lecture

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

  3. 3. Оптимизация и параллелизация алгоритмов

    Lecture

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

  4. 4. Подходы к построению алгоритмов

    Lecture

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

  5. 5. Алгоритмы сортировки и поиска

    Lecture

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

  6. 6. Жадные алгоритмы. динамическое программирование

    Lecture

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

  7. 7. Алгоритмы на графах. алгоритмы поиска кратчайшего пути

    Lecture

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

  8. 8. Пошаговая демонстрация DFS и BFS

    Lecture

    В рамках данной темы подробно изучаются алгоритмы обхода графов в глубину (dfs — depth-first search) и в ширину (bfs — breadth-first search). рассматривается пошаговый процесс выполнения каждого алгоритма, порядок посещения вершин, использование стеков и очередей, а также формирование дерева обхода. проводится практическая демонстрация работы DFS и BFS на различных графах и сравниваются области применения, преимущества и временная сложность данных алгоритмов.