Алгоритмы и структуры данных. Решения задач на языке C

На курсе мы подробно исследуем язык C - это превосходная возможность “пощупать” механизмы, которые лежат в основе современных фреймворков. 

Алгоритмы и структуры данных. Решения задач на языке C
Цена
11970
Кэшбэк до 6,5%
1 месяц1 месяц
СертификатСертификат
РусскийРусский
Geekbrains
Купить с кэшбэком

Описание:

Без знаний алгоритмов начинающий программист часто изобретает велосипед вместо того, чтобы решать задачу уже проверенными способами. Современные языки программирования всячески облегчают жизнь разработчикам, выполняя множество “грязной” работы. С одной стороны, это хорошо, но с другой - многие программисты перестают понимать, как на самом деле работает компьютер, или имеют весьма поверхностное представление об алгоритмах и структурах данных, лежащих в основе используемых ими решений.

Чему Вы научитесь

  • Основам программирования на языке C;
  • Структурам данных и алгоритмам, которые лежат в основе их работы;
  • Общим подходам и полезным методикам для решения сложных задач;
  • Инструментам оценки сложности решаемых задач;
  • Создавать консольные программы на языке C в среде разработки QT;
  • Создавать программы, используя собственные алгоритмы;
  • Создавать собственные структуры данных: стеки, списки, деревья и др.;
  • Оценивать производительность программ;
  • Использовать “незащищённый” режим работы с памятью, основанный на указателях;
  • Динамически выделять и освобождать память;
  • Использовать рекурсию.

Программа курса:

Урок 1. Простые алгоритмы. Введение в C. Структуры. Алгоритмы.

Урок 2. Асимптотическая сложность алгоритма. Рекурсивный перебор. Ханойская башня.

Урок 3. Поиск в одномерном массиве .Интерполяционный поиск. Сортировка массива.

Урок 4. Динамическое программирование. Поиск возвратом. Наибольшая общая подпоследовательность Динамическое программирование. Поиск с возвратом. Задача о восьми ферзях.

Урок 5. Динамические структуры данных. Стек, очередь. Создание стека с использованием массива. Динамические структуры данных.

Урок 6. Деревья. Двоичные деревья поиска. Хеш-функция. MD5. Хеш-таблицы

Урок 7. Графы. Алгоритмы на графах. Графы, обход графа в ширину и глубину. Волновой алгоритм. “Жадные алгоритмы”.

Урок 8. Сложные сортировки. Сортировка Хоара (Quick sort). Пирамидальная сортировка (Heap sort) Сортировка слиянием (Merge sort). Сортировка подсчетом (CountingSort). Алгоритм со списком (pigeonhole sorting). Блочная сортировка.