Содержание
- 2. Основные пункты Вычислительная сложность Базовые структуры данных и их использование в С++
- 3. Вычислительная сложность Нужно как-то сравнивать ресурсы, которые будут потрачены тем или иным алгоритмом Они включают: Время
- 4. Вычислительная сложность Вариант #1 – точный подсчет, например, отдельных команд процессора Проблемы: Команды занимают разное время
- 5. Вычислительная сложность Как правило, достаточно сравнивать поведение алгоритмов в целом Вариант #2 – сравнивать общий вид
- 6. «О» большое
- 7. «О» большое Объяснение на примерах: мы говорим, что алгоритм имеет сложность O(n) операций, если с ростом
- 8. «О» большое O(n): n = 10, операций 10 n = 20, операций 20 Но так же
- 9. «О» большое Мы говорим, что алгоритм имеет сложность O(n^2) операций, если с ростом размера входных данных
- 10. «О» большое Часто можно увидеть: O(1) O(log n) O(sqrt n) O(n) O(n * log n) O(n
- 11. «О» большое Что такое n? Примеры: Определение простоты числа n: n – само число Сортировка массива:
- 12. Базовые структуры данных Массив Вектор Множество Стек Очередь Словарь
- 13. Массив Последовательность элементов фиксированного размера. Операции: Получить элемент по индексу: О(1) времени Записать элемент по индексу:
- 14. Массив в С++ int arr[100]; arr[0] = 123; // записали элемент cout
- 15. STL STL (Standard Template Library) – набор алгоритмов, контейнеров и вспомогательных функций в языке С++. Контейнеры
- 16. Вектор Массив имеет фиксированный размер, что не всегда удобно в практических ситуациях. Операции: Получить элемент по
- 17. Вектор в С++ #include vector tmp; tmp.push_back(1); tmp.push_back(2); tmp.push_back(3); cout В угловых скобках указан тип данных,
- 18. Вектор в С++ vector numbers; cin >> n; for (int i = 0; i > tmp;
- 19. Вектор в С++ vector numbers; // … for (int i = 0; i } Количество элементов
- 20. Множество Структура данных, в которой каждый элемент хранится в единственном числе. Операции: Добавить элемент в множество
- 21. Множество в С++ В С++ существует две реализации множества – set и unordered_set. Пока остановимся только
- 22. Множество в С++ #include set my_set; my_set.insert(3); my_set.insert(4); my_set.insert(3); cout В множестве два элемента: числа 3
- 23. Множество в С++ set my_set; my_set.insert(1); my_set.insert(2); my_set.erase(1); my_set.erase(2); cout Удалили все элементы
- 24. Множество в С++ set my_set; // Определим, есть ли там элемент 2 if (my_set.find(2) != my_set.end())
- 25. Множество в С++ set my_set; // Вывести все элементы множества for (auto it = my_set.begin(); it
- 26. Стек Структура данных «LIFO» (Last-In First-Out). Операции: Добавить элемент на вершину стека: O(1) Получить элемент с
- 27. Стек Названия операций: Добавить элемент: push Получить элемент на вершине: top Удалить элемент с вершины: pop
- 28. Стек в С++ stack s; s.push(1); s.push(2); s.push(3); while (!s.empty()) { cout s.pop(); } 1 2
- 29. Очередь Структура данных «FIFO» (First-In First-Out). Операции: Добавить элемент в конец очереди: O(1) Получить элемент с
- 30. Очередь Названия операций: Добавить элемент в конец: push Получить элемент в начале: front Удалить элемент в
- 31. Стек | Очередь
- 32. Очередь в С++ queue q; q.push(1); q.push(2); q.push(3); while (!q.empty()) { cout q.pop(); } 1 2
- 33. Словарь Структура данных, в которой можно сохранять и получать значения по произвольным ключам Операции: Записать значение
- 34. Словарь в С++ (map) Занимаемая память: O(n log n) Сложность операций: Получить значение по ключу: O(log
- 35. Словарь в С++ (map) #include map my_map; my_map['A'] = 5; my_map['B'] = 6; cout Обращаемся как
- 36. Словарь в С++ (map) #include map my_map; my_map['A'] = 5; if (my_map.find('A') != my_map.end()) { cout
- 38. Скачать презентацию












![Массив в С++ int arr[100]; arr[0] = 123; // записали элемент cout](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/973152/slide-13.jpg)




















![Словарь в С++ (map) #include map my_map; my_map['A'] = 5; my_map['B'] =](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/973152/slide-34.jpg)
![Словарь в С++ (map) #include map my_map; my_map['A'] = 5; if (my_map.find('A')](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/973152/slide-35.jpg)
Электронные таблицы (на примере Exсel)
Как сдать РГР по ООиУвС на проверку
Безопасный интернет
Электронная система Охрана труда
DriverPack Solution — менеджер установки драйверов
Тенденции web-дизайна
Функции, операторы, массивы
HDMI конвертеры (AV RCA)
Разработка предложений СКУД по биометрическим данным на предприятии ОАО СатурН
Программирование на языке Python
Проект для ведущих On line игр
Аппаратура для построения сетей
Программирование. Variadic Templates. LSP
Введение в объектно-ориентированное программирование
Социальные сети в Рунете. Hobbies
7 ways intelligent itsm can help you - storyboard
Одномерные массивы целых чисел. Алгоритмизация и программирование
Текст как информационный объект. Автоматизированные средства и технологии организации текста
способы записи алгоритмов н
Алфавитный подход к определению количества информации
TeamLead команды SMART
Цифровые технологии в строительстве
Pascal ABC. Работа с числовыми данными. Целые числа. Урок 3-4
Безопасный интернет
Обработка числовой последовательности на языке Python 3.9. Задание 17
Графический редактор PAINT
МК Осенний листопад
Виды облачных систем