GoSlideGoSlide

Презентация на тему «Алгоритмы и структуры данных»

Полная презентация на 24 слайдов: схемы, таблицы и выводы уже расставлены. Откройте в редакторе, замените данные на свои и скачайте .PPTX без оплаты.

Слайды презентации

Слайд 1 из 24

Доклад к слайду 1

Тема нашей презентации — алгоритмы и структуры данных. Это базовый раздел информатики, который объясняет, как организовать хранение данных и как за приемлемое время получить из них нужный ответ. Разберём основные структуры, научимся оценивать сложность и рассмотрим классические методы разработки алгоритмов.

Выберите оформление

Одна и та же презентация в нескольких шаблонах — выберите подходящий под свой вуз, слайды выше обновятся, и скачайте бесплатно. Все шаблоны вузов.

Содержание презентации по слайдам

Слайд 1. Алгоритмы и структуры данных

  • Основы алгоритмического мышления: базовые структуры хранения, оценка вычислительной сложности и классические методы решения задач

Доклад: Тема нашей презентации — алгоритмы и структуры данных. Это базовый раздел информатики, который объясняет, как организовать хранение данных и как за приемлемое время получить из них нужный ответ. Разберём основные структуры, научимся оценивать сложность и рассмотрим классические методы разработки алгоритмов.

Слайд 2. Содержание

  • Введение
  • Алгоритм и его свойства
  • Блок-схема: двоичный поиск
  • История алгоритмов
  • Учёные, определившие направление
  • Оценка вычислительной сложности
  • Классы сложности от лучшего к худшему
  • Классификация структур данных
  • Массив и связный список
  • Стек и очередь
  • Хеш-таблица
  • Деревья: виды и назначение
  • Графы: от мостов Кёнигсберга
  • Алгоритмы на графах
  • Сравнение алгоритмов сортировки
  • Как растёт время квадратичной сортировки
  • Методы разработки алгоритмов
  • Рекурсия и Ханойская башня
  • Алгоритмы в цифровых сервисах
  • Выводы
  • Список литературы

Доклад: Работа построена от общего к частному. Сначала определим само понятие алгоритма и его свойства, затем перейдём к оценке вычислительной сложности, разберём основные структуры данных, алгоритмы сортировки и поиска, а завершим методами разработки и примерами из реальных цифровых сервисов.

Слайд 3. Введение

  • Алгоритмы и структуры данных — фундамент программирования: от них зависит, отработает программа за доли секунды или за сутки.
  • Объём хранимых человечеством данных растёт на десятки процентов в год, поэтому цена неудачного алгоритмического решения постоянно увеличивается.
  • Удачно выбранная структура хранения сокращает поиск в миллионе записей с миллиона сравнений до двадцати.
  • Алгоритмическая подготовка — обязательная часть обучения по направлениям «Информатика и вычислительная техника» и «Прикладная математика».

Доклад: Алгоритмы и структуры данных определяют, будет программа работать доли секунды или сутки. Объём данных растёт быстрее, чем производительность процессоров, поэтому цена неудачного алгоритмического решения только увеличивается. Хорошо подобранная структура хранения сокращает поиск в миллионе записей с миллиона сравнений всего до двадцати.

Слайд 4. Алгоритм и его свойства

  • Дискретность — алгоритм разбит на отдельные завершённые шаги, каждый выполняется за конечное время.
  • Детерминированность — при одних и тех же исходных данных результат всегда получается одинаковым.
  • Конечность — исполнение завершается за конечное число шагов, а не длится бесконечно.
  • Массовость — алгоритм решает не единственную задачу, а целый класс однотипных задач.
  • Результативность — по завершении выдан ответ либо обоснованное сообщение о его отсутствии.

Доклад: Алгоритм — это конечная последовательность точно определённых действий, приводящая к решению задачи. Классически выделяют пять его свойств: дискретность, детерминированность, конечность, массовость и результативность. Если хотя бы одно нарушено — перед нами не алгоритм, а лишь описание намерений.

Слайд 5. Блок-схема: двоичный поиск

  • Начало: отсортированный массив
  • Взять средний элемент рабочего отрезка
  • Средний элемент равен искомому? — отбросить половину отрезка, где искомого заведомо нет
  • Отрезок ещё не пуст? — сообщить, что элемент отсутствует
  • Итог: элемент найден
  • Блок-схема — стандартная графическая запись алгоритма: овал обозначает начало и конец, прямоугольник — действие, ромб — проверку условия.
  • Двоичный поиск применим только к упорядоченным данным — это плата за скорость.
  • Каждый шаг отбрасывает ровно половину оставшихся элементов.
  • В массиве из миллиона элементов ответ находится максимум за 20 сравнений.

Доклад: На схеме показан двоичный поиск — эталонный пример эффективного алгоритма. Мы берём средний элемент отрезка, сравниваем его с искомым и каждым шагом отбрасываем ровно половину оставшихся данных. Именно поэтому в массиве из миллиона элементов ответ находится не более чем за двадцать сравнений, но работает это только на отсортированных данных.

Слайд 6. История алгоритмов

  • Само слово «алгоритм» произошло от латинской формы имени среднеазиатского учёного аль-Хорезми.
  • До XX века алгоритмы описывали словесно; строгое математическое определение появилось лишь в работах Тьюринга, Чёрча и Поста.
  • Теория алгоритмов и теория сложности сложились во второй половине XX века вместе с электронными вычислительными машинами.
  • 300 до н. э. — алгоритм Евклида для наибольшего общего делителя
  • 825 — трактат аль-Хорезми о вычислениях
  • 1843 — первая программа Ады Лавлейс
  • 1936 — машина Тьюринга и понятие вычислимости
  • 1959 — алгоритм Дейкстры о кратчайшем пути
  • 1968 — первый том «Искусства программирования»

Доклад: История алгоритмов насчитывает больше двух тысяч лет: алгоритм Евклида для наибольшего общего делителя описан ещё около трёхсот года до нашей эры. Само слово «алгоритм» пришло от латинской формы имени учёного аль-Хорезми, чей трактат познакомил Европу с позиционным счётом. Строгое математическое определение алгоритма появилось только в тридцатые годы XX века в работах Тьюринга, Чёрча и Поста.

Слайд 7. Учёные, определившие направление

  • Ада Лавлейс, 1815–1852, Составила первую в истории программу — вычисление чисел Бернулли для аналитической машины Бэббиджа.
  • Эдсгер Дейкстра, 1930–2002, Автор алгоритма кратчайшего пути и один из создателей структурного программирования.
  • Дональд Кнут, род. 1938, Автор многотомника «Искусство программирования» — энциклопедии алгоритмов и их точного анализа.

Доклад: За ключевыми идеями стоят конкретные люди. Ада Лавлейс в 1843 году составила первую в истории программу для аналитической машины Бэббиджа. Эдсгер Дейкстра дал нам алгоритм кратчайшего пути и принципы структурного программирования, а Дональд Кнут в многотомнике «Искусство программирования» превратил анализ алгоритмов в строгую научную дисциплину.

Слайд 8. Оценка вычислительной сложности

  • T(n) = O(f(n))
  • T(n) — число элементарных операций, выполняемых алгоритмом
  • n — размер входных данных: длина массива, число вершин графа
  • f(n) — функция роста, задающая верхнюю границу трудоёмкости
  • O — асимптотическая оценка «растёт не быстрее, чем»

Доклад: Чтобы сравнивать алгоритмы независимо от языка и компьютера, используют асимптотическую оценку. Запись T(n) = O(f(n)) означает, что число операций растёт не быстрее заданной функции от размера входных данных. Константы и слагаемые низшего порядка отбрасываются: на больших объёмах данных всё решает старший член.

Слайд 9. Классы сложности от лучшего к худшему

  • Константы и слагаемые низшего порядка при оценке отбрасываются: на больших данных решает старший член.
  • Разница между O(n log n) и O(n²) на миллионе элементов — это секунды против нескольких суток.
  • Кроме времени оценивают и дополнительную память, которую алгоритм требует сверх входных данных.
  • O(1) — постоянное время: обращение к элементу массива по индексу
  • O(log n) — логарифм: двоичный поиск, операции в сбалансированном дереве
  • O(n) — линейно: один проход по всем данным, поиск максимума
  • O(n log n) — предел для сортировки сравнениями: слияние, быстрая сортировка
  • O(n²) и хуже — квадратичные и переборные методы, пригодны лишь для малых объёмов

Доклад: Ступени сложности выстраиваются от постоянного времени до квадратичного и хуже. Обращение к элементу массива по индексу — это O(1), двоичный поиск — O(log n), один проход по данным — O(n), лучшие сортировки сравнениями — O(n log n). Разница между O(n log n) и O(n²) на миллионе элементов — это секунды против нескольких суток работы.

Слайд 10. Классификация структур данных

  • Структуры данных различают по способу организации связей между элементами и по типу доступа к ним.
  • Массив
  • Связный список
  • Стек
  • Очередь
  • Дек
  • Дерево поиска
  • Куча
  • Граф
  • Префиксный бор
  • Хеш-таблица
  • Словарь
  • Множество

Доклад: Структуры данных удобно делить на три группы. Линейные — массивы, списки, стеки и очереди — хранят элементы в виде последовательности. Нелинейные — деревья, кучи и графы — задают отношения ветвления и связей. Ассоциативные — хеш-таблицы, словари и множества — обеспечивают доступ по ключу.

Слайд 11. Массив и связный список

  • Обе структуры хранят последовательность элементов, но по-разному размещают их в памяти — отсюда и разная стоимость операций.
  • Элементы лежат в памяти подряд, адрес вычисляется по индексу
  • Доступ к любому элементу за постоянное время O(1)
  • Вставка в середину требует сдвига — O(n)
  • Размер задаётся заранее, расширение означает копирование
  • Каждый узел хранит значение и ссылку на следующий узел
  • Доступ к k-му элементу только перебором — O(n)
  • Вставка и удаление при известном узле — O(1)
  • Растёт по мере надобности, но тратит память на ссылки

Доклад: Массив и связный список решают одну задачу, но по-разному размещаются в памяти. У массива элементы лежат подряд, поэтому доступ по индексу мгновенный, зато вставка в середину требует сдвига всех последующих элементов. Список, наоборот, легко перестраивается за счёт ссылок, но добраться до k-го элемента можно только перебором.

Слайд 12. Стек и очередь

  • Это структуры с намеренно ограниченным доступом: работать разрешено только с одним концом последовательности, зато все операции выполняются за постоянное время.
  • Добавление и извлечение идут только через вершину
  • Хранит адреса возврата и локальные данные при вызове функций
  • Обеспечивает отмену действий и обход графа в глубину
  • Используется при разборе выражений и проверке скобок
  • Добавление в хвост, извлечение из головы
  • Планирование задач и буферизация входящих запросов
  • Основа обхода графа в ширину
  • Кольцевая реализация экономит память при постоянном потоке

Доклад: Стек и очередь — структуры с намеренно ограниченным доступом, и в этом их сила: все операции выполняются за постоянное время. Стек работает по принципу «последним пришёл — первым ушёл» и лежит в основе вызова функций и обхода в глубину. Очередь работает по принципу «первым пришёл — первым ушёл» и применяется в планировщиках задач и обходе графа в ширину.

Слайд 13. Хеш-таблица

  • Хеш-функция превращает ключ в номер ячейки, поэтому нужная запись находится напрямую, а не перебором.
  • Среднее время поиска, вставки и удаления — O(1), в вырожденном случае массовых совпадений — O(n).
  • Совпадения адресов (коллизии) разрешают методом цепочек или открытой адресацией.
  • При заполнении выше 70–75 % таблицу перестраивают с удвоением размера, иначе скорость падает.

Доклад: Хеш-таблица работает как библиотечная картотека: по ключу мы сразу знаем нужный ящик, а не перебираем все подряд. В среднем поиск, вставка и удаление занимают постоянное время, но при массовых коллизиях таблица вырождается в список. Поэтому важны качественная хеш-функция, разрешение коллизий и своевременная перестройка таблицы при заполнении выше семидесяти процентов.

Слайд 14. Деревья: виды и назначение

  • Двоичное дерево поиска — слева меньшие ключи, справа большие; поиск за O(log n) при сбалансированности.
  • АВЛ-дерево — самобалансирующееся дерево, высоты поддеревьев различаются не более чем на единицу.
  • Красно-чёрное дерево — основа упорядоченных словарей в стандартных библиотеках языков программирования.
  • Куча — дерево, в котором родитель не меньше потомков; даёт очередь с приоритетом.
  • Префиксный бор — хранит строки посимвольно, ускоряет автодополнение и словарный поиск.

Доклад: Деревья дают компромисс между скоростью поиска и удобством вставки. Двоичное дерево поиска ищет за логарифм, но только пока остаётся сбалансированным — за этим следят АВЛ-деревья и красно-чёрные деревья. Куча обеспечивает очередь с приоритетом, а префиксный бор используют для автодополнения и словарного поиска.

Слайд 15. Графы: от мостов Кёнигсберга

  • Граф — множество вершин и связывающих их рёбер; так описывают дороги, социальные связи и зависимости задач.
  • В 1736 году Леонард Эйлер доказал, что обойти семь мостов Кёнигсберга ровно по одному разу невозможно.
  • Из этой задачи выросла теория графов — язык маршрутизации, планирования и анализа сетей.
  • Граф хранят матрицей смежности (мгновенная проверка ребра) или списками смежности (экономия памяти на разреженных сетях).

Доклад: Теория графов началась с бытовой задачи: можно ли обойти семь мостов Кёнигсберга, пройдя по каждому ровно один раз. В 1736 году Леонард Эйлер доказал, что нельзя, и заодно создал целый раздел математики. Сегодня графами описывают дорожные сети, социальные связи и зависимости работ, а хранят их матрицей или списками смежности.

Слайд 16. Алгоритмы на графах

  • Большинство прикладных задач сводится к обходу графа или поиску в нём оптимального пути.
  • Выбор алгоритма определяют два вопроса: есть ли у рёбер веса и могут ли эти веса быть отрицательными.
  • Обход в ширину — послойный обход, даёт кратчайший путь в невзвешенном графе
  • Обход в глубину — уход вглубь ветви, находит компоненты связности и циклы
  • Алгоритм Дейкстры — кратчайшие пути при неотрицательных весах рёбер
  • Алгоритм Краскала — минимальное остовное дерево через сортировку рёбер
  • Топологическая сортировка — корректный порядок выполнения зависимых работ

Доклад: Прикладные задачи на графах решаются небольшим набором классических алгоритмов. Обход в ширину даёт кратчайший путь в невзвешенном графе, обход в глубину находит циклы и компоненты связности. Алгоритм Дейкстры строит кратчайшие маршруты при неотрицательных весах, Краскал — минимальное остовное дерево, а топологическая сортировка задаёт корректный порядок зависимых работ.

Слайд 17. Сравнение алгоритмов сортировки

  • Сортировка — самая изучаемая задача: на ней удобно видеть цену выбора алгоритма.
  • Устойчивая сортировка сохраняет исходный порядок равных элементов — это важно при многоуровневой сортировке таблиц.

Доклад: Таблица сравнивает пять классических сортировок по времени, дополнительной памяти и устойчивости. Квадратичные методы просты в реализации и хороши только на малых массивах. Сортировка слиянием устойчива, но требует дополнительной памяти, быстрая сортировка экономнее по памяти и в среднем быстрее, а пирамидальная работает почти без дополнительной памяти.

Слайд 18. Как растёт время квадратичной сортировки

  • При удвоении массива время сортировки пузырьком увеличивается примерно вчетверо — это и есть квадратичная зависимость.
  • Быстрая сортировка на тех же 160 тысячах элементов укладывается в доли секунды.

Доклад: График наглядно показывает квадратичный рост: при каждом удвоении массива время сортировки пузырьком увеличивается примерно вчетверо — с десятых долей секунды до тридцати секунд. Быстрая сортировка на тех же ста шестидесяти тысячах элементов справляется за доли секунды. Это и есть практический смысл асимптотических оценок.

Слайд 19. Методы разработки алгоритмов

  • Разделяй и властвуй — дробим задачу на подзадачи и объединяем решения
  • Динамическое программирование — сохраняем ответы подзадач и не считаем их дважды
  • Жадные алгоритмы — на каждом шаге берём локально лучший вариант
  • Перебор с отсечениями — обходим варианты, отбрасывая заведомо безнадёжные ветви

Доклад: Разработка алгоритма опирается на несколько универсальных приёмов. Разделяй и властвуй дробит задачу на подзадачи, динамическое программирование запоминает их решения и не считает дважды, жадные алгоритмы выбирают локально лучший шаг. Перебор с отсечениями остаётся последним средством там, где точное решение иначе не найти.

Слайд 20. Рекурсия и Ханойская башня

  • Рекурсия — приём, при котором функция вызывает сама себя с уменьшенной задачей до простейшего случая.
  • Ханойская башня из n дисков требует ровно 2ⁿ − 1 перекладываний: для 64 дисков это более 18 квинтиллионов ходов.
  • Каждый вызов хранится в стеке, поэтому глубина рекурсии ограничена объёмом памяти.
  • Повторные вычисления убирает запоминание промежуточных результатов, а простые случаи переписываются в обычный цикл.

Доклад: Ханойская башня — классическая иллюстрация рекурсии: чтобы переложить башню из n дисков, нужно сначала переложить башню из n минус одного диска. Число ходов равно двум в степени n минус один, поэтому для шестидесяти четырёх дисков задача практически невыполнима. Каждый вызов занимает место в стеке, и глубина рекурсии всегда ограничена памятью.

Слайд 21. Алгоритмы в цифровых сервисах

  • Поисковые системы отбирают документы по обратному индексу и ранжируют их графовыми алгоритмами.
  • Навигаторы строят маршрут алгоритмом Дейкстры и его ускоренными модификациями с эвристикой.
  • Сжатие данных опирается на коды Хаффмана, а проверка целостности файлов — на хеширование.
  • Базы данных ускоряют выборки сбалансированными деревьями индексов, а рекомендательные сервисы — поиском ближайших соседей.

Доклад: В реальных сервисах алгоритмы работают незаметно, но постоянно. Поисковые системы используют обратный индекс и графовое ранжирование, навигаторы — алгоритм Дейкстры с эвристиками, архиваторы — коды Хаффмана, а базы данных ускоряют выборки деревьями индексов. За каждым привычным нажатием кнопки стоит десяток классических алгоритмов.

Слайд 22. Выводы

  • Алгоритм и структура данных — две стороны одного решения: способ хранения определяет набор доступных операций и их скорость.
  • Асимптотическая оценка позволяет предсказать поведение программы на больших данных ещё до её запуска.
  • Базовый набор структур — массивы, списки, стеки, очереди, хеш-таблицы, деревья и графы — покрывает подавляющее большинство прикладных задач.
  • Классические приёмы разработки остаются рабочим инструментом инженера независимо от языка программирования и модной технологии.

Доклад: Подведём итоги. Алгоритм и структура данных неразделимы: способ хранения определяет, какие операции окажутся дешёвыми, а какие — разорительными. Асимптотическая оценка позволяет предсказать поведение программы на больших данных заранее, а базовый набор структур и классических приёмов покрывает большинство прикладных задач.

Слайд 23. Список литературы

  • Ахо, А. В. Структуры данных и алгоритмы : учебное пособие / А. В. Ахо, Д. Э. Хопкрофт, Д. Д. Ульман. — Москва : Вильямс, 2016. — 400 с.
  • Вирт, Н. Алгоритмы и структуры данных : учебное издание / Н. Вирт. — Санкт-Петербург : Невский Диалект, 2008. — 352 с.
  • Кнут, Д. Э. Искусство программирования. Том 1. Основные алгоритмы : монография / Д. Э. Кнут. — 3-е изд. — Москва : Вильямс, 2019. — 720 с.
  • Кормен, Т. Алгоритмы: построение и анализ : учебник / Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. — 3-е изд. — Москва : Вильямс, 2013. — 1328 с.
  • Седжвик, Р. Фундаментальные алгоритмы : учебное пособие / Р. Седжвик. — Москва : Вильямс, 2011. — 1056 с.

Доклад: В основу работы легли признанные учебники по алгоритмам. Это классические труды Кормена, Кнута, Вирта, Ахо и Седжвика — источники, по которым алгоритмы преподают в университетах по всему миру. Они рекомендуются для самостоятельного углублённого изучения темы.

Слайд 24. Спасибо за внимание!

Доклад: На этом доклад завершён. Мы рассмотрели понятие алгоритма, способы оценки его сложности, основные структуры данных и классические методы разработки. Благодарю за внимание, готов ответить на вопросы.

Частые вопросы

Эту презентацию правда можно скачать бесплатно?

Да. Готовый образец из каталога открывается в онлайн-редакторе и скачивается в формате .PPTX для PowerPoint бесплатно, без регистрации.

Можно ли изменить текст и оформление под свою работу?

Да. Нажмите «Открыть в редакторе», замените текст на свой, при желании выберите оформление под свой вуз — и скачайте итоговый файл.

В каком формате скачивается презентация?

.PPTX — стандартный формат Microsoft PowerPoint. Файл открывается в PowerPoint, LibreOffice Impress и Google Презентациях.

Подходит ли презентация для вуза?

Да. Структура соответствует требованиям учебных работ: титульный лист, содержание, введение, основная часть, выводы и список литературы по ГОСТ.

А если нужной темы нет в каталоге?

Нейросеть соберёт презентацию по любой вашей теме за пару минут — с таким же оформлением, докладом и списком литературы. Стоимость — 259 ₽ за скачивание.

Создайте презентацию по своей теме

Введите тему — нейросеть составит план и соберёт готовую презентацию с оформлением, докладом и списком литературы.

Похожие презентации