Fənn · İnformasiya təhlükəsizliyi

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

İFS-2226yn-RU6 kreditPayız semestriSeçmə2

Sillabus

Fənnin rəsmi proqramı: ümumi məlumat, təlim nəticələri, mövzu planı, ədəbiyyat və qiymətləndirmə.

Ümumi məlumat

Fənn kodu
İFS-2226yn-RU
Kredit
6
Tələbənin iş yükü
2
Semestr
Payız semestri
Akademik il
2
Fənnin tipi
Seçmə
Təhsil forması
Əyani
Tədris dili
Rus
Auditoriyadaxili saatlar
a) 15 часов — лекция b) 15 часов – Семинар c) 15 часов —лаборатор. занятия
Auditoriyadan kənar saatlar
a) 1 час – самостоятельная работа b) 1 час – консультационный час

Fənn haqqında

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

Tədris metodları

  • mühazirə
  • seminar
  • laboratoriya işi

Fənn təlim nəticələri (CLO)

  1. CLO 1: Объясняет и применяет основные понятия алгоритмов и структур данных, их свойства, классификацию и способы представления.

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

  3. CLO 3: Применяет и анализирует основные структуры данных, включая массивы, связанные списки, стеки, очереди, деревья, графы и хеш-таблицы

  4. CLO 4:  Разрабатывает и применяет основные алгоритмы поиска, сортировки, рекурсии, обработки деревьев и графов, сравнивает их эффективность.

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

  6. CLO 6: Проектирует, реализует и оценивает алгоритмы и структуры данных в соответствии с требованиями поставленной задачи, обосновывая выбор подходящего решения.

Mövzu planı

  1. 1.
    Введение в алгоритмы и структуры данных. Алгоритмически неразрешимые задачиMühazirə

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

  2. 2.
    Структуры данныхMühazirə

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

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

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

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

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

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

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

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

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

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

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

  8. 8.
    Пошаговая демонстрация DFS и BFSMühazirə

    В рамках данной темы подробно изучаются алгоритмы обхода графов в глубину (DFS — Depth-First Search) и в ширину (BFS — Breadth-First Search). Рассматривается пошаговый процесс выполнения каждого алгоритма, порядок посещения вершин, использование стеков и очередей, а также формирование дерева обхода. Проводится практическая демонстрация работы DFS и BFS на различных графах и сравниваются области применения, преимущества и временная сложность данных алгоритмов.

Ədəbiyyat

  1. Steven S. Skiena – The Algorithm Design Manual (Springer, 3rd Edition, 2020).
  2. Robert Sedgewick, Kevin Wayne – Algorithms (Addison-Wesley, 4th Edition, 2011)
  3. GeeksforGeeks (https://www.geeksforgeeks.org/)

Qiymətləndirmə

Qiymətləndirmə formasıAçıqlamaBalUyğun FTN
Cari qiymətləndirməCari qiymətləndirmə - fənn üzrə tələbənin semestr müddətində fəaliyyətinin qiymətləndirilməsi olmaqla, mühazirə və məşğələ (laboratoriya) dərs materiallarının mənimsənilmə səviyyəsini qiymətləndirilir.30 balFTN 1-6
DavamiyyətTələbə fənn üzrə dərslərin 25%-dən çoxunda iştirak etmədiyi halda imtahana buraxılmır.10 bal-
Tələbənin sərbəst işiTələbəyə fənn üzrə semestr ərzində 1 sərbəst işin (zəruri hallarda sərbəst işlərin sayı artırıla bilər) yerinə yetirilməsi tapşırığı verilir.10 balFTN--
İmtahanİmtahan şifahi, yazılı, yazılı-elektron, test üsulu ilə keçirilir50 balFTN 1-6