×
Вы действительно хотите открыть доступ к тестированию по курсу STL – стандартная библиотека шаблонов. Теория и практика на 40 дней?
ВИДЕОУРОК №3. Структуры данных. Двусвязный список. Бинарное дерево
Научиться таким базовым понятиям, как: алгоритм, сложность алгоритма, структура данных.
Получить теоретические знания о структурах данных, их основных операциях и предназначении. Разобрать отличия между массивом и односвязным списком.
Научиться использовать двусвязные списки и бинарные деревья для решения практических задач, а также научиться определять лучшую структуру данных под конкретную задачу.
Рассмотреть преимущества библиотеки STL, основные её свойства и возможности. Научиться пользоваться контейнерами (на примере контейнера Vector). Разобрать базовые операции по работе с контейнером Vector.
Продемонстрировать операции, присущие контейнерам (как линейным, так и ассоциативным). Разобраться с тонкостями создания, копирования и удаления элементов, также изучить операции присваивания. Изучить новый вид цикла – Range for loop
Рассмотреть работу с контейнерами с линейным доступом (такими как массивы, стеки, очереди, списки и деки). Рассмотреть разницу в работе с различными контейнерами, их методами и функционалом.
Рассмотреть работу с контейнерами с ассоциативным доступом (такими как set и map). Освоить основные операции над ассоциативными контейнерами, рассмотреть разницу в работе с линейными и ассоциативными контейнерами.
Изучить операции прямого доступа к элементам контейнера, разобраться со вставкой, удалением и модификацией контейнера. Также изучить операции генерации итераторов и некоторые специальные операции, которые встречаются в отдельных контейнерах.
Изучить работу с итераторами, научиться использовать итераторы для работы с файловой системой. Понять принцип работы итераторов для разных контейнеров (как ассоциативных, так и линейных).
Научиться использовать алгоритмы, предоставленные стандартной библиотекой шаблонов, для оптимального решения поставленных задач. Изучить доступные алгоритмы, научиться применять их к различным контейнерам из STL.
Научиться использовать специальные возможности языка С++ в контексте использования STL. Изучить работу с функторами, лямбдами, предикатами, функциональными объектами для более широкого понимания логики работы алгоритмов.
Научиться использовать все мощности и особенности контейнеров STL, а также алгоритмов на практике. Применять знания об алгоритмах и структурах данных в зависимости от поставленной задачи.