Ü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)
CLO 1: Объясняет и применяет основные понятия алгоритмов и структур данных, их свойства, классификацию и способы представления.
CLO 2: Разрабатывает и анализирует алгоритмы для решения поставленных задач, определяет их временную и пространственную сложность
CLO 3: Применяет и анализирует основные структуры данных, включая массивы, связанные списки, стеки, очереди, деревья, графы и хеш-таблицы
CLO 4: Разрабатывает и применяет основные алгоритмы поиска, сортировки, рекурсии, обработки деревьев и графов, сравнивает их эффективность.
CLO 5: Выявляет, анализирует и устраняет логические и структурные ошибки в алгоритмах и программах, реализующих выбранные структуры данных.
CLO 6: Проектирует, реализует и оценивает алгоритмы и структуры данных в соответствии с требованиями поставленной задачи, обосновывая выбор подходящего решения.
Mövzu planı
- 1.Введение в алгоритмы и структуры данных. Алгоритмически неразрешимые задачиMühazirə
В рамках данной темы изучаются основные понятия алгоритмов и структур данных, их назначение, свойства и роль в решении вычислительных задач. Рассматриваются понятия конечности, определённости, эффективности и корректности алгоритмов. Также изучаются алгоритмически неразрешимые задачи, ограничения вычислительных методов и примеры задач, для которых не существует универсального алгоритма решения.
- 2.Структуры данныхMühazirə
В рамках данной темы изучаются основные структуры данных и способы их организации в памяти компьютера. Рассматриваются линейные и нелинейные структуры данных, включая массивы, связные списки, стеки, очереди, деревья и графы. Изучаются основные операции над структурами данных, особенности их реализации и выбор подходящей структуры в зависимости от поставленной задачи.
- 3.Оптимизация и параллелизация алгоритмовMühazirə
В рамках данной темы изучаются методы повышения эффективности алгоритмов и программных решений. Рассматриваются временная и пространственная сложность алгоритмов, выявление узких мест и методы оптимизации вычислений. Также изучаются основные принципы параллелизации алгоритмов, распределения вычислительных задач и использования параллельных вычислений для сокращения времени выполнения.
- 4.Подходы к построению алгоритмовMühazirə
В рамках данной темы изучаются основные подходы и стратегии разработки алгоритмов. Рассматриваются декомпозиция задач, метод «разделяй и властвуй», итеративный и рекурсивный подходы, а также другие методы построения эффективных алгоритмических решений. Особое внимание уделяется выбору подходящего подхода в зависимости от структуры и требований решаемой задачи.
- 5.Алгоритмы сортировки и поискаMühazirə
В рамках данной темы изучаются основные алгоритмы сортировки и поиска данных. Рассматриваются алгоритмы пузырьковой сортировки, сортировки выбором, сортировки вставками, быстрой сортировки и сортировки слиянием. Также изучаются линейный и бинарный поиск, условия их применения и сравнительный анализ эффективности различных алгоритмов по временной и пространственной сложности.
- 6.Жадные алгоритмы. Динамическое программированиеMühazirə
В рамках данной темы изучаются два основных подхода к решению оптимизационных задач: жадные алгоритмы и динамическое программирование. Рассматриваются принципы выбора локально оптимального решения в жадных алгоритмах и условия, при которых такой подход приводит к глобально оптимальному результату. Изучаются разбиение задачи на подзадачи, сохранение промежуточных результатов и построение решения с использованием методов динамического программирования.
- 7.Алгоритмы на графах. Алгоритмы поиска кратчайшего путиMühazirə
В рамках данной темы изучаются основные понятия теории графов и алгоритмы обработки графовых структур. Рассматриваются ориентированные и неориентированные графы, вершины, рёбра, пути и веса. Изучаются алгоритмы поиска кратчайшего пути, включая алгоритм Дейкстры и другие методы, а также условия их применения и анализ эффективности при решении задач маршрутизации и поиска оптимальных путей.
- 8.Пошаговая демонстрация DFS и BFSMühazirə
В рамках данной темы подробно изучаются алгоритмы обхода графов в глубину (DFS — Depth-First Search) и в ширину (BFS — Breadth-First Search). Рассматривается пошаговый процесс выполнения каждого алгоритма, порядок посещения вершин, использование стеков и очередей, а также формирование дерева обхода. Проводится практическая демонстрация работы DFS и BFS на различных графах и сравниваются области применения, преимущества и временная сложность данных алгоритмов.
Ədəbiyyat
- Steven S. Skiena – The Algorithm Design Manual (Springer, 3rd Edition, 2020).
- Robert Sedgewick, Kevin Wayne – Algorithms (Addison-Wesley, 4th Edition, 2011)
- GeeksforGeeks (https://www.geeksforgeeks.org/)
Qiymətləndirmə
| Qiymətləndirmə forması | Açıqlama | Bal | Uyğ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 bal | FTN 1-6 |
| Davamiyyət | Tə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şi | Tə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 bal | FTN-- |
| İmtahan | İmtahan şifahi, yazılı, yazılı-elektron, test üsulu ilə keçirilir | 50 bal | FTN 1-6 |