Голосов: 0
#1
Описание курса Алгоритмы и структуры данных
Курс алгоритмы и структуры данных предназначен как для уже состоявшихся программистов, студентов, изучающих компьютерные науки, так и для всех, кто работает с вычислительной техникой и желает понять, как начать решать сложные задачи с высокой эффективностью. Алгоритмы и структуры данных, рассматриваемые в данном курсе, представляют собой область знаний, которая позволит эффективно использовать компьютер для решения широкого множества задач, начиная со сложения двух чисел и заканчивая задачами анализа генетического кода.
Этот курс познакомит Вас с наиболее важными из применяемых на сегодняшний день структурами данных в вычислительной технике, а также с основными алгоритмами, понимание которых позволит Вам быстрее находить решения сложных задач.
Уже на первом уроке курса нами детально рассматриваются вопросы оценки времени выполнения алгоритмов, как составной части решения поставленной задачи, поскольку для задач больших размеров важную роль играет не только мощность вычислительных средств, но и эффективность алгоритма. Далее будут рассмотрены основные структуры данных, в контексте которых мы посмотрим на односвязные и двухсвязные списки, динамические массивы, стеки, очереди, деревья и множества. Мы детально познакомимся с алгоритмами сортировки, с понятиями «хеш-таблицы» и «В-деревья». Заключительный урок нашего курса будет посвящен решению практических примеров - задачи коммивояжера, задачи о ханойских башнях и задачи триангуляции.
Алгоритмы и структуры данных, которые мы рассматриваем в данном курсе, можно реализовать на любом языке программирования, нами для этого будет использоваться язык С#, базовых знаний которого будет вполне достаточно для понимания материала.
Содержание курса:
Урок 1. Введение в структуры и алгоритмы данных. Связные списки.
• Понятие алгоритма и структуры данных.
• Понятие временной и асимптотической сложности алгоритма.
• Использование О-нотации.
• Обзор основных структур данных.
• Обзор односвязных списков.
• Двусвязные списки.
• Примеры реализации связных списков на C#.
Урок 2. ArrayList
• Реализация динамического массива на C#.
• Обзор класса ArrayList.
• Добавление элементов в динамический массив.
• Политики роста динамического массива.
• Удаление элементов из массива.
• Индексация элементов.
Урок 3. Stack и Queue
• Обзор структуры данных - стек.
• Реализация стека на основе двухсвязных списков на C#.
• Методы Push, Pop, Peek, Count.
• Обзор структуры данных – очередь.
• Реализация методов Enqueue, Dequeue, Peek, Count.
• Обзор структуры данных двусвязная очередь (дек).
• Реализации двухсвязной очереди на основе списков.
• Реализация стека на основе двухсвязной очереди.
• Реализация двухсвязной очереди на основе массива.
Урок 4. Деревья
• Структура данных – дерево.
• Реализация дерева на основе массива.
• Реализация бинарного дерева поиска на C#.
• Добавление, удаление и поиск узлов дерева.
• Прямой, обратный и симметричный обход дерева.
Урок 5. Множество
• Структура данных – множество.
• Реализация класса Set.
• Добавление и удаление элементов и поиск элементов множества.
• Объединение, пересечение, разность, симметрическая разность двух множеств.
Урок 6. Алгоритмы сортировки
• Сортировка пузырьком.
• Сортировка вставками.
• Сортировка выбором.
• Сортировка слиянием.
• Сортировка Шелла.
• Быстрая сортировка.
Урок 7. Хеш-таблицы
• Описание структуры данных - хеш-таблицы.
• Хеш-функция.
• Коллизии хеш-функции.
• Реализация хеш-таблицы на C#.
Урок 9. Задачи
• Задача коммивояжёра.
• Задача Ханойские башни.
• Задача триангуляции.
По завершению курса Вы сможете:
• Понимать принципы построения и использования структур данных.
• Создавать классы для работы с типичными часто используемыми структурами данных.
• Различать преимущества использования тех или иных структур в каждом конкретном случае
Стоимость:
7000 руб
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.