SlideShare a Scribd company logo
1 of 12
Алгоритмы
и структуры данных
Зайцев Валентин Евгеньевич
8: фундаментальное алгоритмическое
введение
Тип стек.
Понятие стека.
Стек и магазин. Вертикальные терминологии.
Задачи на стеки:
• моделирование реальных стеков,
• собственные задачи информатики.
Функциональная спецификация.
Рекурсивный характер стека.
Свойства операций.
Сравнение с очередью. Горизонтальная терминология.
8: фундаментальное алгоритмическое
введение
Логическое описание.
Стеки в языках программирования и в библиотеках универсальных систем
программирования.
FORTH.
Аппаратная поддержка стеков.
Машины со стековой памятью.
Физическое представление.
Отображение на файл. Достоинства и недостатки.
Отображение на массив. Сравнение с кольцебуферной стратегией.
Встречные стеки.
8: фундаментальное алгоритмическое
введение
Сложностные оценки.
Пример кода на Си.
Отображение на динамические структуры.
Код на языке Си.
Примеры.
Реверс и уничтожение стека.
Автомат Калашникова как устройство преобразования стека в очередь.
Демонстрация.
Моделирование очереди двумя стеками.
8: фундаментальное алгоритмическое
введение
Понятие дека.
Моделирование дека двумя стеками или двумя очередями, контролирующими
общую последовательность.
Анонсы задач на деки:
• Краснопресненское трамвайное депо;
• сортировочная станция Дейкстры;
• злые птицы (RussianCodeCup2012@MaiI.Ru).
8: фундаментальное алгоритмическое
введение
Линейный список.
Линейный список -- последовательность хранимых значений и
мультимножество.
Первичность порядка и хронологии, вторичность нумерации.
Поиск значений в списке.
Добавление и удаление элемента в любом месте списка.
Сложностные оценки.
Сравнение с очередью и стеком.
8: фундаментальное алгоритмическое
введение
Функциональная спецификация.
Свойства операций.
Рекурсивный характер списка.
Логическое описание.
Списки в языках программирования и в библиотеках универсальных систем
программирования.
Списки в языках LISP и Prolog.
Физическое представление.
Отображение на массив. Суррогатная реализация.
Подсписки свободных и занятых элементов резидентного массива.
8: фундаментальное алгоритмическое
введение
Сложностные оценки.
Пример кода на Си.
Отображение на динамические структуры.
Графическая иллюстрация.
Итераторы.
Терминатор.
Код на языке Си.
Обработка списков.
Примеры.
Реверс и уничтожение списка. Демонстрация.
8: фундаментальное алгоритмическое
введение
Нелинейные списки.
Графы.
Сети.
Отдельная лекция ассистента.
8: фундаментальное алгоритмическое
введение
Рекурсия
Понятие рекурсии.
Рекурсия как цикл в функциональной нотации.
Примеры рекурсии в математике, физике и вычислительной технике.
Зеркала, камеры, мониторы и др.
Рекурсивные алгоритмы. Примеры.
Рекурсия и итерация. Примеры сведения и несведения: факториал и функция
Аккермана.
Понятие о рекурсивном вызове процедуры. Рекурсивное исполнение программ.
Использование стека для управления памятью при рекурсивном исполнении
программ блочной структуры.
Демонстрация: трассировка программы вычисления 20!
8: фундаментальное алгоритмическое
введение
Лабораторная работа №2 «Сортировка структур данных».
Реализовать заданный абстрактный тип данных на стандарте языке Си
без использования библиотек.
Составить программу сортировки экземпляра типа заданным методом.
Характерные элементы метода реализовать отдельными функциями.
Дать сложностные оценки использованным методам с подтверждением
в процессе тестирования крайних и средних значений.
Для сборки программы, генерации тестов и собственно тестирования
использовать средства ОС UNIX.
Варианты заданий задаются в матрице на пересечении строк -- методов
сортировки и столбцов – сортируемых структур.
Конец лекции 8
9 ноября 2012 г.
thezzz@gmail.com

More Related Content

What's hot

PG Day'14 Russia, Индексный поиск по регулярным выражениям, Александр Коротков
PG Day'14 Russia, Индексный поиск по регулярным выражениям, Александр КоротковPG Day'14 Russia, Индексный поиск по регулярным выражениям, Александр Коротков
PG Day'14 Russia, Индексный поиск по регулярным выражениям, Александр Коротковpgdayrussia
 
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКАВведение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКАIgor Kleiner
 
Программа моделирования алгоритма параллельных подстановок и пример его реали...
Программа моделирования алгоритма параллельных подстановок и пример его реали...Программа моделирования алгоритма параллельных подстановок и пример его реали...
Программа моделирования алгоритма параллельных подстановок и пример его реали...Alexander Petrov
 
HappyDev-lite-2016-весна 05 Евгений Тюменцев. Не все технологии одинаково по...
HappyDev-lite-2016-весна 05 Евгений Тюменцев. Не все технологии одинаково по...HappyDev-lite-2016-весна 05 Евгений Тюменцев. Не все технологии одинаково по...
HappyDev-lite-2016-весна 05 Евгений Тюменцев. Не все технологии одинаково по...HappyDev-lite
 

What's hot (8)

PG Day'14 Russia, Индексный поиск по регулярным выражениям, Александр Коротков
PG Day'14 Russia, Индексный поиск по регулярным выражениям, Александр КоротковPG Day'14 Russia, Индексный поиск по регулярным выражениям, Александр Коротков
PG Day'14 Russia, Индексный поиск по регулярным выражениям, Александр Коротков
 
Программная поддержка языка лексико-синтаксических шаблонов
Программная поддержка языка лексико-синтаксических шаблоновПрограммная поддержка языка лексико-синтаксических шаблонов
Программная поддержка языка лексико-синтаксических шаблонов
 
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКАВведение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
Введение в теорию автоматов и вычислений. 1.12 дорожная карта 2 - ДКА
 
Программа моделирования алгоритма параллельных подстановок и пример его реали...
Программа моделирования алгоритма параллельных подстановок и пример его реали...Программа моделирования алгоритма параллельных подстановок и пример его реали...
Программа моделирования алгоритма параллельных подстановок и пример его реали...
 
HappyDev-lite-2016-весна 05 Евгений Тюменцев. Не все технологии одинаково по...
HappyDev-lite-2016-весна 05 Евгений Тюменцев. Не все технологии одинаково по...HappyDev-lite-2016-весна 05 Евгений Тюменцев. Не все технологии одинаково по...
HappyDev-lite-2016-весна 05 Евгений Тюменцев. Не все технологии одинаково по...
 
Slides3
Slides3Slides3
Slides3
 
лабораторная работа №2
лабораторная работа №2лабораторная работа №2
лабораторная работа №2
 
План обучения
План обучения План обучения
План обучения
 

Similar to АиСД осень 2012 лекция 8

Теория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямТеория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямSergey Staroletov
 
Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"Sergey Nemchinsky
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетуппAnastasia Snegina
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетуппAnastasia Snegina
 
лекция1
лекция1лекция1
лекция1shagore
 
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...ITMO University
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
 
C++ осень 2013 лекция 9
C++ осень 2013 лекция 9C++ осень 2013 лекция 9
C++ осень 2013 лекция 9Technopark
 
Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Alex Ott
 
По ту сторону ООП: PEAK-Rules и PyProtocols
По ту сторону ООП: PEAK-Rules и PyProtocolsПо ту сторону ООП: PEAK-Rules и PyProtocols
По ту сторону ООП: PEAK-Rules и PyProtocolsSergey Schetinin
 
АиСД осень 2012 лекция 7
АиСД осень 2012 лекция 7АиСД осень 2012 лекция 7
АиСД осень 2012 лекция 7Technopark
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
ВиртуалтредингCEE-SEC(R)
 
Язык программирования SocLang (VKLang)
Язык программирования SocLang (VKLang)Язык программирования SocLang (VKLang)
Язык программирования SocLang (VKLang)Alexander Petrov
 
Mastering PHP SPL (ru)
Mastering PHP SPL (ru)Mastering PHP SPL (ru)
Mastering PHP SPL (ru)Eugene Dorosh
 

Similar to АиСД осень 2012 лекция 8 (20)

Теория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямТеория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциям
 
UML: Kinds of Diagram
UML:  Kinds of DiagramUML:  Kinds of Diagram
UML: Kinds of Diagram
 
Scala: introduction
Scala: introductionScala: introduction
Scala: introduction
 
Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
 
лекция1
лекция1лекция1
лекция1
 
OO Design with C++: 0. Intro
OO Design with C++: 0. IntroOO Design with C++: 0. Intro
OO Design with C++: 0. Intro
 
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
Tbb лр1
Tbb   лр1Tbb   лр1
Tbb лр1
 
C++ осень 2013 лекция 9
C++ осень 2013 лекция 9C++ осень 2013 лекция 9
C++ осень 2013 лекция 9
 
Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)
 
По ту сторону ООП: PEAK-Rules и PyProtocols
По ту сторону ООП: PEAK-Rules и PyProtocolsПо ту сторону ООП: PEAK-Rules и PyProtocols
По ту сторону ООП: PEAK-Rules и PyProtocols
 
АиСД осень 2012 лекция 7
АиСД осень 2012 лекция 7АиСД осень 2012 лекция 7
АиСД осень 2012 лекция 7
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
Виртуалтрединг
 
Язык программирования SocLang (VKLang)
Язык программирования SocLang (VKLang)Язык программирования SocLang (VKLang)
Язык программирования SocLang (VKLang)
 
Mastering PHP SPL (ru)
Mastering PHP SPL (ru)Mastering PHP SPL (ru)
Mastering PHP SPL (ru)
 
лаф 2014
лаф 2014лаф 2014
лаф 2014
 
Rgsu04
Rgsu04Rgsu04
Rgsu04
 

More from Technopark

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelTechnopark
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuTechnopark
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARNTechnopark
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. SparkTechnopark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache MahoutTechnopark
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeperTechnopark
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveTechnopark
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Technopark
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Technopark
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Technopark
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSTechnopark
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы HadoopTechnopark
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceTechnopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...Technopark
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"Technopark
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"Technopark
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"Technopark
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...Technopark
 

More from Technopark (20)

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель Pregel
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.Ru
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARN
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. Spark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeper
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и Hive
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFS
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы Hadoop
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduce
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
 

АиСД осень 2012 лекция 8

  • 2. 8: фундаментальное алгоритмическое введение Тип стек. Понятие стека. Стек и магазин. Вертикальные терминологии. Задачи на стеки: • моделирование реальных стеков, • собственные задачи информатики. Функциональная спецификация. Рекурсивный характер стека. Свойства операций. Сравнение с очередью. Горизонтальная терминология.
  • 3. 8: фундаментальное алгоритмическое введение Логическое описание. Стеки в языках программирования и в библиотеках универсальных систем программирования. FORTH. Аппаратная поддержка стеков. Машины со стековой памятью. Физическое представление. Отображение на файл. Достоинства и недостатки. Отображение на массив. Сравнение с кольцебуферной стратегией. Встречные стеки.
  • 4. 8: фундаментальное алгоритмическое введение Сложностные оценки. Пример кода на Си. Отображение на динамические структуры. Код на языке Си. Примеры. Реверс и уничтожение стека. Автомат Калашникова как устройство преобразования стека в очередь. Демонстрация. Моделирование очереди двумя стеками.
  • 5. 8: фундаментальное алгоритмическое введение Понятие дека. Моделирование дека двумя стеками или двумя очередями, контролирующими общую последовательность. Анонсы задач на деки: • Краснопресненское трамвайное депо; • сортировочная станция Дейкстры; • злые птицы (RussianCodeCup2012@MaiI.Ru).
  • 6. 8: фундаментальное алгоритмическое введение Линейный список. Линейный список -- последовательность хранимых значений и мультимножество. Первичность порядка и хронологии, вторичность нумерации. Поиск значений в списке. Добавление и удаление элемента в любом месте списка. Сложностные оценки. Сравнение с очередью и стеком.
  • 7. 8: фундаментальное алгоритмическое введение Функциональная спецификация. Свойства операций. Рекурсивный характер списка. Логическое описание. Списки в языках программирования и в библиотеках универсальных систем программирования. Списки в языках LISP и Prolog. Физическое представление. Отображение на массив. Суррогатная реализация. Подсписки свободных и занятых элементов резидентного массива.
  • 8. 8: фундаментальное алгоритмическое введение Сложностные оценки. Пример кода на Си. Отображение на динамические структуры. Графическая иллюстрация. Итераторы. Терминатор. Код на языке Си. Обработка списков. Примеры. Реверс и уничтожение списка. Демонстрация.
  • 9. 8: фундаментальное алгоритмическое введение Нелинейные списки. Графы. Сети. Отдельная лекция ассистента.
  • 10. 8: фундаментальное алгоритмическое введение Рекурсия Понятие рекурсии. Рекурсия как цикл в функциональной нотации. Примеры рекурсии в математике, физике и вычислительной технике. Зеркала, камеры, мониторы и др. Рекурсивные алгоритмы. Примеры. Рекурсия и итерация. Примеры сведения и несведения: факториал и функция Аккермана. Понятие о рекурсивном вызове процедуры. Рекурсивное исполнение программ. Использование стека для управления памятью при рекурсивном исполнении программ блочной структуры. Демонстрация: трассировка программы вычисления 20!
  • 11. 8: фундаментальное алгоритмическое введение Лабораторная работа №2 «Сортировка структур данных». Реализовать заданный абстрактный тип данных на стандарте языке Си без использования библиотек. Составить программу сортировки экземпляра типа заданным методом. Характерные элементы метода реализовать отдельными функциями. Дать сложностные оценки использованным методам с подтверждением в процессе тестирования крайних и средних значений. Для сборки программы, генерации тестов и собственно тестирования использовать средства ОС UNIX. Варианты заданий задаются в матрице на пересечении строк -- методов сортировки и столбцов – сортируемых структур.
  • 12. Конец лекции 8 9 ноября 2012 г. thezzz@gmail.com