Алгоритмы и структуры данных. Введение

Содержание

Слайд 2

Обо мне Крахмалёв Денис Сергеевич Аспирант ФПМИ МФТИ CV-Engineer в PicsArt

Обо мне

Крахмалёв Денис Сергеевич
Аспирант ФПМИ МФТИ
CV-Engineer в PicsArt
krakhmalev23@gmail.com
vk.com/d_krakhmalev
tg: @krakhmalyov

Чат курса
https://t.me/joinchat/R_TklPBYtH8wNWIy

Слайд 3

Алгоритм Это последовательность команд, предназначенная исполнителю, в результате выполнения которой он должен решить поставленную задачу.

Алгоритм

Это последовательность команд, предназначенная исполнителю, в результате выполнения которой он должен

решить поставленную задачу.
Слайд 4

Примеры простых алгоритмов вычисление факториала числа проверка числа на простоту быстрое возведение в степень

Примеры простых алгоритмов

вычисление факториала числа
проверка числа на простоту
быстрое возведение в степень


Слайд 5

Структура и Абстрактный тип данных Структура -- программная единица, позволяющая хранить

Структура и Абстрактный тип данных

Структура -- программная единица, позволяющая хранить и

обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс.
Абстра́ктный тип да́нных (АТД) — это математическая модель для типов данных, где тип данных определяется поведением (семантикой) с точки зрения пользователя данных, а именно в терминах возможных значений, возможных операций над данными этого типа и поведения этих операций.
Слайд 6

Динамический массив

Динамический массив

Слайд 7

Двусвязный и односвязный списки

Двусвязный и односвязный списки

Слайд 8

Стек и очередь

Стек и очередь

Слайд 9

Двусторонная очередь (дек)

Двусторонная очередь (дек)

Слайд 10

Хранение стека, дека, очередь в массиве/списке

Хранение стека, дека, очередь в массиве/списке

Слайд 11

Поиск элемента в массиве Линейный Бинарный

Поиск элемента в массиве

Линейный
Бинарный

Слайд 12

Поддержка минимума в стеке

Поддержка минимума в стеке

Слайд 13

Асимптотические обозначения

Асимптотические обозначения

Слайд 14

Асимптотика простых алгоритмов

Асимптотика простых алгоритмов

Слайд 15

Амортизационный анализ Средняя амортизационная стоимость операций — величина a, находящаяся по

Амортизационный анализ

Средняя амортизационная стоимость операций — величина a, находящаяся по формуле:


t1,t2…tn — время выполнения операций 1,2…n, совершённых над структурой данных.
Метод усреднения
Метод предоплаты
Метод потенциалов
Слайд 16

Метод усреднения Считаем среднюю амортизационную стоимость по формуле

Метод усреднения

Считаем среднюю амортизационную стоимость по формуле

Слайд 17

Метод предоплаты Каждой операции над структурой присваивается “стоимость” При проведении операции

Метод предоплаты

Каждой операции над структурой присваивается “стоимость”
При проведении операции от этой

стоимости отнимается фактическое время работы операции, остаток кладётся в “банк” Если стоимости не хватает на проведение операции, то можно взять часть из банка
Тогда амортизационная стоимость операций -- все затраченные деньги/количество операций
Слайд 18

Метод потенциалов

Метод потенциалов

Слайд 19

Представление очереди в виде двух стеков

Представление очереди в виде двух стеков

Слайд 20

Поддержка минимума в очереди

Поддержка минимума в очереди

Слайд 21

Двоичная куча. АТД “Очередь с приоритетом”

Двоичная куча. АТД “Очередь с приоритетом”