Topic outline
Дополнительные материалы
- Столяров, А.В., Введение в язык С++
- #SimpleCode, cписок видео на русском, посвященный основам ООП в С++ (https://www.youtube.com/playlist?list=PLQOaTSbfxUtBm7DxblJZShqBQnBAVzlXX)
- Лесин, В.М., вводный видео-курс в язык С++ (https://www.youtube.com/playlist?list=PLlb7e2G7aSpTFea2FYxp7mFfbZW-xavhL)
- Мещерин, И.С., ООП для второго курса МФТИ, требует базовые знания языка С++ (https://www.youtube.com/playlist?list=PL4_hYwCyhAvZATDL6xxWCrHDqBF50RfKW)
- Санду, Р., Метапрограммирование в С++ для четвертого курса МФТИ (https://www.youtube.com/watch?v=iIgeniinDPs&list=PL4_hYwCyhAvYO01i2gR-prnu4Stvxuf7u)
- Степанов, А.А., Заметки о программировании (англ.)
Лабораторные работы
- Тип данных array (массив)
-
статически выделенный С-массив
(int [n])
-
- Тип данных vector (вектор)
-
динамически выделенный блок памяти
(int *{new int [n]})
-
- Тип данных forward list (односвязный список)
-
односвязный список с динамически выделенными узлами
(node {node *next{new node}})
-
- Тип данных list (двусвязный список)
-
двухсвязный список с динамически выделенными узлами
(node {node *prev{new node}, *next{new node}})
-
- Тип данных priority queue (очередь с приоритетом)
-
адаптер вектора (см. вариант 2), моделирующий сбалансированное двоичное дерево - пирамиду
-
- Тип данных deque (двухсторонняя очередь)
-
двухсвязный список с динамически выделенными узлами, где каждый узел - это статически выделенный С-массив
-
опционально: двухсвязный список (см. вариант 4), вектор (см. вариант 2)
-
- Тип данных stack (стэк)
-
адаптер двухсторонней очереди (см. вариант 6), моделирующий LIFO-структуру
-
опционально: односвязный список (см. вариант 3), вектор (см. вариант 2)
-
- Тип данных queue (очередь)
-
адаптер двухсторонней очереди (см. вариант 6), моделирующий FIFO-структуру
-
опционально: двухсвязный список (см. вариант 4), вектор (см. вариант 2)
-
- Тип данных set (множество)
-
красно-черное дерево, https://www.cs.usfca.edu/~galles/visualization/RedBlack.html
-
опционально: отсортированная хэш-таблица, двоичное дерево поиска и т.п.
-
- Тип данных unordered map (ассоциативный массив, словарь)
- хэш-таблица
- опционально: вектор, состоящий из пар и т.п.
- Тип данных array (массив)