Содержание
- 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)
Кружок Компьютерные презентации
Создание видеоролика
Основы самоорганизующихся сетей
Суперкомпьютерные программы Беларуси и России
Установка Oracle Database
Российская электронная школа
Возникновение понятия алгоритм
Оператор выбора на языке Pascal
Вызвать Excel. Создать новую рабочую книгу
Ссылка для скачивания презентации
Поколения ЭВМ1
Компьютерные вирусы
Программирование на языке Python
Проблемы и перспективы развития цифровизации страхового рынка в РФ
PSP mobile app description
Учёба занимает всё свободное время? на любимые игры нет времени? скачай это приложение!
Цифровой таймер. Семисегментный индикатор
Битрикс — фреймворк?
Приложение DriveWindow
Доверенная идентификация в избирательных информационных технологиях цифрового общества Сбербанк-МФТИ
Вариации по мотивам… Новые задания с развернутым ответом №25 и №26
Презентация на тему Введение в алгебру логики
Алгоритмы и модели трассировки печатных соединений в ЭА
Xfce. Свободная среда рабочего стола для Unix-подобных операционных систем
Файлы и файловые структуры
Локальные компьютерные сети. Адаптер. Виды адаптеров. Топология сети
Объектно-ориентированное программирование
Разработка технологического процесса изготовления тонкостенных деталей типа Профиль самолета МС-21