О курсе
STL (Стандартная библиотека шаблонов) – библиотека языка C++, содержащая набор классов и функций, реализующих возможности контейнеров и алгоритмов работы с контейнерами. Данная библиотека входит в стандарт языка C++ и является обязательной для изучения каждым C++ разработчиком.
Данный курс позволит вам изучить основы работы со Стандартной библиотекой шаблонов, познакомит с внутренним устройством контейнеров различного вида, познакомит с теоретическими особенностями основных алгоритмов для работы с этими контейнерами и с их реализацией в C++. Вы познакомитесь с базовыми типами данных, научитесь выбирать тип контейнера в зависимости от задачи и получите практические навыки, помогающие решать сложные алгоритмические задачи при помощи STL. На курсе будет рассмотрен функционал библиотеки, который поможет сделать написание программ для вас более простым, а создаваемый вами код - лаконичным и более читабельным.
Также в курсе будет рассмотрено практическое использование библиотеки STL и реализация алгоритмов на основе задач из реальных собеседований.
Этот курс входит в специальности:
Предварительные Требования
- Знание языка С++ (основы, синтаксис)
- Знание ООП
- Знание шаблонов
Вы научитесь
- Понимать базовые принципы устройства контейнеров из библиотеки STL и принципы работы с ними в языке C++.
- Понимать критерии оценки сложности алгоритмов. Научитесь выполнять такую оценку на практике.
- Понимать принципы устройства в C++ таких базовых структур данных, как стек, очередь, односвязный и двусвязный список, бинарное дерево.
- Различать виды деревьев и основные проблемы использования структуры данных бинарное дерево.
- Понимать и уметь применять на практике различные операции с контейнерами (создание, копирование, удаление, присваивание и т.д), а также оценивать их эффективность.
- Понимать принципы устройства ассоциативных контейнеров, механику работы ассоциативных контейнеров, уметь применять Set и Map контейнеры и выполнять над ними различные операции.
- Применять методы прямого доступа к элементам контейнеров, использовать специальные операции для работы с итераторами, а также для вставки и удаления элементов контейнера, использовать адаптеры итераторов и пользовательские итераторы.
- Понимать принципы и уметь применять такие алгоритмы, как: немодифицирующие и модифицирующие, алгоритмы удаления, перестановочные алгоритмы и алгоритмы сортировки.
- Понимать принципы работы с контейнерными адаптерами, а также применять на практике лямбда-функции и функциональные объекты.
- 7 ч 5 м
- 28.05.2020
- 12
- 04.11.2020
- русский
Что входит в курс
×
Вы действительно хотите открыть доступ к тестированию по курсу STL – стандартная библиотека шаблонов. Теория и практика на 40 дней?
Научиться таким базовым понятиям, как: алгоритм, сложность алгоритма, структура данных.
Получить теоретические знания о структурах данных, их основных операциях и предназначении. Разобрать отличия между массивом и односвязным списком.
Научиться использовать двусвязные списки и бинарные деревья для решения практических задач, а также научиться определять лучшую структуру данных под конкретную задачу.
Рассмотреть преимущества библиотеки STL, основные её свойства и возможности. Научиться пользоваться контейнерами (на примере контейнера Vector). Разобрать базовые операции по работе с контейнером Vector.
Продемонстрировать операции, присущие контейнерам (как линейным, так и ассоциативным). Разобраться с тонкостями создания, копирования и удаления элементов, также изучить операции присваивания. Изучить новый вид цикла – Range for loop
Рассмотреть работу с контейнерами с линейным доступом (такими как массивы, стеки, очереди, списки и деки). Рассмотреть разницу в работе с различными контейнерами, их методами и функционалом.
Рассмотреть работу с контейнерами с ассоциативным доступом (такими как set и map). Освоить основные операции над ассоциативными контейнерами, рассмотреть разницу в работе с линейными и ассоциативными контейнерами.
Изучить операции прямого доступа к элементам контейнера, разобраться со вставкой, удалением и модификацией контейнера. Также изучить операции генерации итераторов и некоторые специальные операции, которые встречаются в отдельных контейнерах.
Изучить работу с итераторами, научиться использовать итераторы для работы с файловой системой. Понять принцип работы итераторов для разных контейнеров (как ассоциативных, так и линейных).
Научиться использовать алгоритмы, предоставленные стандартной библиотекой шаблонов, для оптимального решения поставленных задач. Изучить доступные алгоритмы, научиться применять их к различным контейнерам из STL.
Научиться использовать специальные возможности языка С++ в контексте использования STL. Изучить работу с функторами, лямбдами, предикатами, функциональными объектами для более широкого понимания логики работы алгоритмов.
Научиться использовать все мощности и особенности контейнеров STL, а также алгоритмов на практике. Применять знания об алгоритмах и структурах данных в зависимости от поставленной задачи.