КурсыMBAКомпанииГранты на обучениеВузыПовысь зарплату

EduMarket Образование
  Вход на сайт
 
Напомнить   
Запомнить меня
 
Пользовательское соглашение


Публикации и новости

Анонсы и релизы (592)

 

Бесплатные видеокурсы (3013)

 

Статьи (2986)

 

Новости (550)

 

Победители конкурса грантов (124)

 


 
СМИ / Бесплатные видеокурсы / IT: Для программистов и IT-специалистов / Бесплатные видеолекции: Функциональное программирование (часть 2)

Бесплатные видеолекции: Функциональное программирование (часть 2)

назад к части 1

продолжение

В этой части: Функциональные структуры данных, деревья выражений и деревья поиска, продолжения, введение в л-исчисление, нормальный и аппликативный порядок редукции. Теорема Чёрча-Россера, описание рекурсивных функций, комбинаторы и комбинаторная логика, от л-исчисления к языку программирования, замыкания, генераторы и отложенные вычисления, последовательности и ленивые вычисления в F#. Мемоизация, F# sequences. Примеры. Ленивые вычисления. Пример: реализация машины Тьюринга

Общее время просмотра (10 видео), часть 2: 5 ч 22 мин

11  Функциональные структуры данных


Функциональные структуры данных. Представление очереди. Многомерные массивы.

    Введение
    Функциональные структуры данных
    Реализация структур данных
        Очередь
        Реализация из 2-х списков
        Массивы
        Типы .NET Framework
        Многомерные массивы
    Пример с треугольником Паскаля
    Мораль



12 Деревья

Деревья общего вида и двоичные деревья. Обход дерева. Реализация обхода с помощью функции с отложенным вычислением.


 Определение.Применение
Обход дерева
Примеры
map для дерева
Вывод структуры директорий
Подсчет размера директории
Двоичные деревья
Определение
Отличия от деревьев общего вида
Сведение дерева общего вида к двоичному
Применение двоичных деревьев
Описание двоичного дерева
Обход двоичного дерева
Реализация обхода
Отложенные вычисления
Обход с аккумулятором



13 Деревья выражений и деревья поиска. Продолжения

Деревья поиска. Деревья выражений. Хвостовая рекурсия для деревьев. Продолжения (continuations).

Дерево поиска
Определение
Вставка в дерево поиска
Эффективность поиска
Сортировка списка
Деревья выражений
Определение
Вычисление выражения
Разбор выражения в дерево
Разбор префиксной формы
О компиляторах
Другие алгоритмы
Продолжения
Хвостовая рекурсия для деревьев
Определение размера дерева
Мораль
 


14 Введение в л-исчисление

Основные модели вычислений. Синтаксис л-исчисления. Чистое и прикладное л-исчисление. Преобразования л-выражений. Редукция. Бетта-редукция и замена переменной.

Модель вычислений
Лямбда исчисление
Синтаксис
Свободные и связанные переменные
Примеры



15 Нормальный и аппликативный порядок редукции. Теорема Чёрча-Россера

Нормальный и аппликативный порядок редукции. Ленивые и энергичные вычисления. Механизмы вызова и проблема разделения. Теорема Чёрча-Россера и теорема стандартизации. Экстенсиональность. Слабая заголовочная нормальная форма.

Порядок редукции
Важность порядка
Внешний, внутренний, левый редексы
Основные порядки
Вычисление с контекстом
Механизмы вызова
Нормальная форма
Теорема Черча-Россера
Теорема стандартизации
Экстенсиональность
Проблема конфликта имен
Проблема и пути решения
Слабая заголовочная нормальная форма
Числа ДеБрейна



16 Описание рекурсивных функций. Комбинаторы и комбинаторная логика

Описание рекурсивных функций. Оператор неподвижной точки. Комбинаторы и комбинаторная логика.

Прикладное лямбда-исчисление
Проблема с рекурсией
Факториал
Оператор неподвижной точки
Комбинаторы
Примеры
Комбинаторная логика (Логика комбинаторов)
Представление произвольной функции в комбинаторной логике
Пример
Выводы
Мораль



17
От л-исчисления к языку программирования

Представление условных выражений, списков и натуральных чисел в лямбда исчислении.Вычислимость.Эквивалентность алгоритмических моделей.

Вычисления на базе чистого л-исчисления
Условные выражения
Представление списков
Натуральные числа
Нумералы
Списковый подход
Через прямую сумму
Схожесть списков и целых чисел
Числа Черча
Итого
Синтаксические улучшения
Что мы получили?
Вычислимость
Полнота по Тьюрингу
Эквивалентность алгоритмических моделей
Все ли вычислимо? Проблема останова



18 Замыкания, генераторы и отложенные вычисления

Переопределение имен. Замыкания. Генераторы - как способ работы с бесконечными последовательностями, отложенные вычисления.

Синтаксис и семантика
Переопределение имён
Замыкания
Определение
mutable-переменные
Замыкания как объекты
Частичное применение
Специализация
Генераторы и объекты
Определение
Генераторы
Ссылочные объеекты
Генирация гениратора
Отложенные вычисления



19 Последовательности и ленивые вычисления в F#. Мемоизация

F# sequences. Примеры. Ленивые вычисления. Мемоизация.

F# Sequences
Пример: вычисление пи
Пример: чтение из файла
Частотный словарь
Ленивые вычисления
Мемоизация
На примере последовательности Фибаначи
Генерализация мемоизации
Мораль



20 Пример: реализация машины Тьюринга

Определение. Пример. Реализация на F#. Зиппер.

Определение машины Тьюринга
Пимер: сложение двоичных чисел на машине Тьюринга
Реализация на F#
Общая схема
Один шаг машины Тьюринга
Что мы сделали ?
Зиппер
Мотивация
Определение
Реализация
Мораль



продолжение, часть 3

Другие бесплатные видеокурсы
Все бесплатные видеокурсы, Курсы IT специалистов
Пользовательское соглашение       Обратная связь       Карта сайта

© 2006—2024 Edumarket