Национальный исследовательский университет «МИЭТ» МИЭТ. Кафедра ПКИМС. Теория алгоритмов. Лекция 2. Способы организации данных

Save this PDF as:
 WORD  PNG  TXT  JPG

Размер: px
Начинать показ со страницы:

Download "Национальный исследовательский университет «МИЭТ» МИЭТ. Кафедра ПКИМС. Теория алгоритмов. Лекция 2. Способы организации данных"

Транскрипт

1 МИЭТ Национальный исследовательский университет «МИЭТ» Кафедра ПКИМС Теория алгоритмов Лекция 2 Способы организации данных

2 Слайд 2 из 18 Общая классификация структур данных Данные Дискретные Линейные (составные) Нелинейные (составные) Многосвязные Массивы Списки Графы Деревья Односвязные Двусвязные

3 Слайд 3 из 18 Абсолютная адресация памяти Этап 1. Компиляция программы Занято компилятором Свободно Занято браузером Занято операционной системой int main() { int x = 2; return 0; }

4 Слайд 4 из 18 Характеристики абсолютной адресации данных Удобства абсолютной адресации памяти: 1. Простота реализации компилятора Неудобства абсолютной адресации памяти: 1. Зависимость от объёма используемой памяти 2. Зависимость от количества запущенных программ 3. Отсутствие надёжности от запуска к запуску 4. Непереносимость исполняемого кода

5 Слайд 5 из 18 Сегментная адресация памяти Занято операционной системой или программой Свободно Начало сегмента данных Начало сегмента кода int main() { int x = 2; return 0; }

6 Слайд 6 из 18 Характеристики сегментной адресации данных Удобства сегментной Неудобства сегментной адресации памяти: адресации памяти: 1. Независимость от объёма используемой памяти 2. Независимость от количества запущенных программ 3. Присутствие надёжности от запуска к запуску 4. Переносимость исполняемого кода (в пределах платформы) 1. Сложность реализации сегментирования данных реализуется на уровне ОС

7 Слайд 7 из 18 Линейные типы данных: массивы и матрицы (1) mas int mas[10]; int main() { int mas[10]; for(int i = 0; i < 10; ++i) mas[i] = i; printf("%d\n", mas[6]); } return 0;

8 Списки Классификация Слайд 8 из 18 По количеству связей элементов односвязные двусвязные многосвязные По способу доступа стеки (stack) очереди (queue) деки (deque) Указатели Данные Указатели Данные Указатели Данные struct ListItem { ListItem *prev; ListItem *next; int x; double y; char z[10]; };

9 Слайд 9 из 18 Односвязные списки: стеки и очереди Указатель на «голову» списка Данные (1) + Данные (2) Указатель на «голову» списка Данные (2) Данные (1)

10 Двусвязные списки: деки Слайд 10 из 18 Указатель на «голову» списка Предыдущий Указатель на «голову» списка Данные (1) Предыдущий Предыдущий Данные (1) Данные (2) Указатель на «хвост» списка Указатель на «хвост» списка

11 Слайд 11 из 18 Сравнение различных составных типов данных Время добавления/удаления элементов Время доступа к элементу Занимаемый объём памяти Односвязный список время выделения памяти доступ к элементу списка данные + указатель Двусвязный список время выделения памяти доступ к элементу списка данные + 2 указателя Массив выделение + копирование + удаление минимально, «мгновенно» только данные

12 Слайд 12 из 18 Базы данных в САПР: простое хранение Указатель на «голову» списка NULL = Предыдущий Данные (1): имя схемы (inverter); элементы схемы. Операция поиска: 1. пробежаться по списку схем в БД (переход по указателям); 2. сравнить каждое имя схемы с искомым (работа со строками); Предыдущий Данные (2): имя схемы (or2); элементы схемы. Долго Долго

13 Слайд 13 из 18 «Ключи» 8 Базы данных в САПР: делаем лучше Указатель на «голову» списка 3 Предыдущий Предыдущий Обработка Данные (1): Данные (2): имя схемы (inverter); элементы схемы. имя схемы (or2); элементы схемы. Ускорение получается за счёт того, что: 1. в основном обход не по списку, а по массиву; 2. сравнение не строк со строками, а целых чисел с целыми числами

14 Слайд 14 из 18 Базы данных в САПР: делаем ещё лучше с о р т и р о в к а «Ключи» 8 3 Обработка Указатель на «голову» списка Предыдущий Данные (1): имя схемы (inverter); элементы схемы. Предыдущий Данные (2): имя схемы (or2); элементы схемы.

15 Слайд 15 из 18 Хэш-таблицы, словари, ассоциативные массивы Назначение: ускорение поиска данных и доступа к данным в списочных структурах Преимущество по сравнению со списками: высокая скорость доступа Существенный недостаток хэш-таблиц: использование массива для индексации: очень медленно при добавлении очень медленно при удалении очень быстро при обращении

16 Слайд 16 из 18 Бинарные (двоичные) деревья УЗЕЛ A УЗЕЛ B < A УЗЕЛ B >= A

17 Слайд 17 из 18 Качество балансировки бинарного дерева Несбалансированное дерево Плохо сбалансированное дерево

18 Слайд 18 из 18 Качество балансировки бинарного дерева Основная задача бинарных деревьев поиска ускорение поиска Хорошо сбалансированное дерево

Лекция 6. Динамические структуры данных

Лекция 6. Динамические структуры данных Лекция 6. Динамические структуры данных СОДЕРЖАНИЕ 1 Списки... 3 1.1 Стек (LIFO)... 3 1.2 Очередь (FIFO)... 4 1.3 Односвязный и двусвязный списки... 5 2 Ассоциативный массив. Хэш-таблица... 9 2.1 Прямая

Подробнее

Структуры и алгоритмы обработки данных (СиАОД) Курс ведут: Лобанов Александр Анатольевич Шмелева Дарья Викторовна

Структуры и алгоритмы обработки данных (СиАОД) Курс ведут: Лобанов Александр Анатольевич Шмелева Дарья Викторовна Структуры и алгоритмы обработки данных (СиАОД) Курс ведут: Лобанов Александр Анатольевич Шмелева Дарья Викторовна Рекомендуемая литература Материал курса опирается на знания студентов, полученные ранее

Подробнее

ОСНОВЫ ПРОГРАММНОГО КОНСТРУИРОВАНИЯ. Лекция 6 10 октября 2016 г.

ОСНОВЫ ПРОГРАММНОГО КОНСТРУИРОВАНИЯ. Лекция 6 10 октября 2016 г. ОСНОВЫ ПРОГРАММНОГО КОНСТРУИРОВАНИЯ Лекция 6 10 октября 2016 г. СОСТАВНЫЕ ТИПЫ ДАННЫХ ЗАПИСИ Объединяют разнотипные данные (элементы, поля), относящиеся к одному объекту из предметной области. struct Point

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 15

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 15 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017 Лекция 15 1 Списки Односвязный список это динамическая структура данных, каждый элемент которой содержит ссылку на следующий элемент (либо NULL,

Подробнее

Курс «Алгоритмы и алгоритмические языки» Лекция 11

Курс «Алгоритмы и алгоритмические языки» Лекция 11 Курс «Алгоритмы и алгоритмические языки» Лекция 11 1 Списки Односвязный список это динамическая структура данных, каждый элемент которой содержит ссылку на следующий элемент (либо NULL, если следующего

Подробнее

Практика программирования 18

Практика программирования 18 Практика программирования 18 Эффективность различных контейнеров B-деревья Префиксные деревья Хеш-таблица Кувшинов Д.Р. КМиММ УрФУ Екатеринбург 2012 Эффективность контейнеров: поиск по номеру N число элементов

Подробнее

Кафедра ЭКОНОМИКИ, ИНФОРМАТИКИ И АУДИТА АННОТАЦИЯ К РАБОЧЕЙ ПРОГРАММЕ ДИСЦИПЛИНЫ СТРУКТУРЫ ДАННЫХ И АЛГОРИТМ. По направлению подготовки

Кафедра ЭКОНОМИКИ, ИНФОРМАТИКИ И АУДИТА АННОТАЦИЯ К РАБОЧЕЙ ПРОГРАММЕ ДИСЦИПЛИНЫ СТРУКТУРЫ ДАННЫХ И АЛГОРИТМ. По направлению подготовки ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ПРОФСОЮЗОВ ВЫСШЕГО ОБРАЗОВАНИЯ «АКАДЕМИЯ ТРУДА И СОЦИАЛЬНЫХ ОТНОШЕНИЙ» БАШКИРСКИЙ ИНСТИТУТ СОЦИАЛЬНЫХ ТЕХНОЛОГИЙ (филиал) Кафедра ЭКОНОМИКИ, ИНФОРМАТИКИ И АУДИТА АННОТАЦИЯ К

Подробнее

Министерство образования и науки РФ Рыбинская государственная авиационная технологическая академия имени П. А. Соловьева РАБОЧАЯ ПРОГРАММА

Министерство образования и науки РФ Рыбинская государственная авиационная технологическая академия имени П. А. Соловьева РАБОЧАЯ ПРОГРАММА Министерство образования и науки РФ Рыбинская государственная авиационная технологическая академия имени П. А. Соловьева «УТВЕРЖДАЮ» Декан факультета РЭИ Дворсон А.И. (подпись) (фамилия и.о.) РАБОЧАЯ ПРОГРАММА

Подробнее

Лекция 5:Словари. Двоичные деревья поиска КурносовМихаил Георгиевич к.т.н. доцент Кафедры вычислительных систем Сибирский государственный университет телекоммуникаций и информатики http://www.mkurnosov.net

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2015/2016. Лекция 24

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2015/2016. Лекция 24 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2015/2016 Лекция 24 1 Хеш-таблицы Словарные операции: добавление, поиск и удаление элементов по их ключам. Организуется таблица ключей: массив Index[m]

Подробнее

ADS-1 <3 > Линейные динамические ADT

ADS-1 <3 > Линейные динамические ADT 1/16 http://rain.ifmo.ru/cat/ ADS-1 Линейные динамические ADT c С. Е. Столяр, 2007 ses@mail.ifmo.ru c СПбГУ ИТМО, 2007 Кафедра компьютерных технологий Допускается свободное распространение с учебными

Подробнее

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

Абстрактные типы и структуры данных Абстрактные типы и структуры данных 1 Абстрактный тип данных (АТД) это тип данных, который предоставляет для работы с элементами этого типа определѐнный набор операций (функций ) а также возможность создавать

Подробнее

Фонд оценочных средств ТЕКУЩЕГО ОЦЕНИВАНИЯ

Фонд оценочных средств ТЕКУЩЕГО ОЦЕНИВАНИЯ Министерство образования и науки Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ

Подробнее

Минский инновационный университет

Минский инновационный университет Минский инновационный университет УТВЕРЖДАЮ Ректор Минского инновационного университета Н.В. Суша 2015_ г. Регистрационный УД- АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ Учебная программа для специальности 1-40 01 01

Подробнее

Направление подготовки (специальность) «Информационные системы и технологии» Профиль Информационные системы и технологии в строительстве

Направление подготовки (специальность) «Информационные системы и технологии» Профиль Информационные системы и технологии в строительстве Аннотация к дисциплине «Основы программирования и алгоритмизации» Направление подготовки (специальность) 09.03.02 «Информационные системы и технологии» Профиль Информационные системы и технологии в строительстве

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2013/2014. Лекция 14

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2013/2014. Лекция 14 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2013/2014 Лекция 14 1 Динамические структуры данных Стек (stack) это динамическая последовательность элементов, количество которых изменяется, причем

Подробнее

«Северо-Кавказский институт бизнеса, инженерных и информационных технологий» (ЧОУ ВО СКИБИИТ) Кафедра информационных технологий

«Северо-Кавказский институт бизнеса, инженерных и информационных технологий» (ЧОУ ВО СКИБИИТ) Кафедра информационных технологий «Северо-Кавказский институт бизнеса, инженерных и информационных технологий» (ЧОУ ВО СКИБИИТ) Кафедра информационных технологий Алгоритмы и структуры данных методические указания по выполнению лабораторных

Подробнее

Динамические структуры данных

Динамические структуры данных Динамические структуры данных Динамические массивы ( были рассмотрены на прошлом занятии ) Списки Стэк Очередь не входят в программу данного курса: Ассоциативные массивы Хеш-таблицы Очередь с приоритетом

Подробнее

Лекция 6:Словари. Хеш-таблицы. КурносовМихаил Георгиевич к.т.н. доцент Кафедры вычислительных систем Сибирский государственный университет телекоммуникаций и информатики http://www.mkurnosov.net Контроль

Подробнее

Лекция 5 Бинарные деревья поиска Курносов Михаил Георгиевич

Лекция 5 Бинарные деревья поиска Курносов Михаил Георгиевич Лекция 5 Бинарные деревья поиска Курносов Михаил Георгиевич E-mail: mkurnosov@gmail.com WWW: www.mkurnosov.net Курс «Структуры и алгоритмы обработки данных» Сибирский государственный университет телекоммуникаций

Подробнее

Курс «Алгоритмы и алгоритмические языки» Лекция 20

Курс «Алгоритмы и алгоритмические языки» Лекция 20 Курс «Алгоритмы и алгоритмические языки» Лекция 20 Красно-черные деревья Красно-черное дерево двоичное дерево поиска, каждая вершина которого окрашена либо в красный, либо в черный цвет Поля цвет, дети,

Подробнее

Язык программирования Си++ Семинар 6. Шаблоны функций и классов. Библиотека стандартных шаблонов (STL).

Язык программирования Си++ Семинар 6. Шаблоны функций и классов. Библиотека стандартных шаблонов (STL). Язык программирования Си++ Иванов А.П., Князева О.С. Семинар 6. Шаблоны функций и классов. Библиотека стандартных шаблонов (STL). 1. Шаблоны функций Часто бывают ситуации, когда один и тот же алгоритм

Подробнее

Стеки и очереди. Лекция 3. Курносов Михаил Георгиевич

Стеки и очереди. Лекция 3. Курносов Михаил Георгиевич Лекция 3 Стеки и очереди Курносов Михаил Георгиевич к.т.н. доцент Кафедры вычислительных систем Сибирский государственный университет телекоммуникаций и информатики http://www.mkurnosov.net/teaching Стек

Подробнее

0НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕ РАБОЧАЯ ПРОГРАММА

0НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕ РАБОЧАЯ ПРОГРАММА 0НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕ «УТВЕРЖДАЮ» Декан АВТФ, профессор В.В.Губарев 1999г РАБОЧАЯ ПРОГРАММА Дисциплины «Основы алгоритмизации и программирования» для направления 552800

Подробнее

Глава 17. Двоичные деревья. Для чего нужны двоичные деревья?

Глава 17. Двоичные деревья. Для чего нужны двоичные деревья? Глава 17 Двоичные деревья ПРИМЕЧАНИЕ В этой главе рассматривается одна из самых интересных и полезных базовых структур данных двоичное дерево. Двоичные деревья представляют собой идеальный пример использования

Подробнее

АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ

АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»

Подробнее

Курс «Алгоритмы и алгоритмические языки» Лекция 17

Курс «Алгоритмы и алгоритмические языки» Лекция 17 Курс «Алгоритмы и алгоритмические языки» Лекция 17 Двоичное дерево Прошитое двоичное дерево Рассмотрим двоичное дерево, на верхнем рисунке. У этого дерева нулевых указателей, больше, чем ненулевых: 10

Подробнее

Изучение данного курса способствует развитию компетенций:

Изучение данного курса способствует развитию компетенций: Раздел 1. Цели и задачи учебной дисциплины. 1.1. Цель преподавания дисциплины. Преподавание курса Структуры и алгоритмы компьютерной обработки данных имеет целью освоение обучаемым построения моделей сложных

Подробнее

Национальный исследовательский университет «МИЭТ» МИЭТ. Кафедра ПКИМС. Теория алгоритмов. Лекция 4. Графы. Способы представления и основные алгоритмы.

Национальный исследовательский университет «МИЭТ» МИЭТ. Кафедра ПКИМС. Теория алгоритмов. Лекция 4. Графы. Способы представления и основные алгоритмы. МИЭТ Национальный исследовательский университет «МИЭТ» Кафедра ПКИМС Теория алгоритмов Лекция Графы. Способы представления и основные алгоритмы. Кафедра ПКИМС, МИЭТ. Осень 07. Что такое граф? Слайд из

Подробнее

Лекция 11. Терновой Максим Юрьевич к.т.н., доцент кафедры информационнотелекоммуникационных

Лекция 11. Терновой Максим Юрьевич к.т.н., доцент кафедры информационнотелекоммуникационных Технологии программирования Зима-Весна Лекция 11 Терновой Максим Юрьевич к.т.н., доцент кафедры информационнотелекоммуникационных сетей Вопросы, рассматриваемые на лекции 1. Динамические структуры данных:

Подробнее

Лекция 4: Стек. Очередь. КурносовМихаил Георгиевич к.т.н. доцент Кафедры вычислительных систем Сибирский государственный университет телекоммуникаций и информатики http://www.mkurnosov.net Контроль 1.

Подробнее

Структуры и алгоритмы обработки данных

Структуры и алгоритмы обработки данных С.С. ЧЕБОТАРЁВ Структуры и алгоритмы обработки данных Сборник тестовых заданий 2014 УДК 004.4 ББК 32.973.26-018.2 Чеботарёв С.С. Структуры и алгоритмы обработки данных: сборник тестовых заданий. Челябинск:

Подробнее

Java для программистов С++ 37 В Java нет указателей 37 Ввод/вывод 41 Вывод 41 Структуры данных библиотеки Java 44 Итоги 44 Вопросы 45

Java для программистов С++ 37 В Java нет указателей 37 Ввод/вывод 41 Вывод 41 Структуры данных библиотеки Java 44 Итоги 44 Вопросы 45 Введение 18 Второе издание 18 Дополнительные темы 18 Вопросы 19 Упражнения 19 Программные проекты 19 О чем эта книга 19 Чем эта книга отличается от других 20 Доступность 20 Приложения Workshop 21 Примеры

Подробнее

Студенческая лаборатория МФТИ-Intel. Структуры данных. Гареева Оксана

Студенческая лаборатория МФТИ-Intel. Структуры данных. Гареева Оксана Студенческая лаборатория МФТИ-Intel Структуры данных Гареева Оксана Oksana.gareeva@gmail.com 10.11.12 http://ilab.mipt.ru План лекци: Структуры данных. Общие понятия. Введение в указатели Структура: список

Подробнее

ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ

ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 5 Структуры данных (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков Артем Юрьевич Кардинальные числа типов данных Общим свойством

Подробнее

РАБОЧАЯ ПРОГРАММА. учебной дисциплины «Алгоритмы и структуры данных» по направлению подготовки бакалавров «Программная инженерия»

РАБОЧАЯ ПРОГРАММА. учебной дисциплины «Алгоритмы и структуры данных» по направлению подготовки бакалавров «Программная инженерия» Волгоградский государственный университет Кафедра Информационных систем и компьютерного моделирования УТВЕРЖДЕНО УЧЕНЫМ СОВЕТОМ Протокол от 11 г. Декан факультета Математики и информационных технологий

Подробнее

ЛЕКЦИЯ 9 ДЕРЕВЬЯ. ДВОИЧНОЕ ДЕРЕВО ПОИСКА. СБАЛАНСИРОВАННЫЕ ДЕРЕВЬЯ

ЛЕКЦИЯ 9 ДЕРЕВЬЯ. ДВОИЧНОЕ ДЕРЕВО ПОИСКА. СБАЛАНСИРОВАННЫЕ ДЕРЕВЬЯ ЛЕКЦИЯ 9 ДЕРЕВЬЯ. ДВОИЧНОЕ ДЕРЕВО ПОИСКА. СБАЛАНСИРОВАННЫЕ ДЕРЕВЬЯ 1. Деревья как структуры данных Сегодняшняя лекция посвящена структурам данных. Из курса теории графов известно определение дерева как

Подробнее

Программирование с использованием C++11

Программирование с использованием C++11 Программирование с использованием C++11 Полевой Дмитрий Валерьевич к.т.н., доцент КиК e-mail: oop.misis@gmail.com Массив (структура данных) «быстрый» доступ к элементу по индексу возможность «блочной»

Подробнее

Практические задания по дисциплине «Программирование на языке высокого уровня» семестр /2011 учебный год

Практические задания по дисциплине «Программирование на языке высокого уровня» семестр /2011 учебный год Федеральное агентство связи ГОУ ВПО «Сибирский государственный университет телекоммуникаций и информатики» Кафедра вычислительных систем Практические задания по дисциплине «Программирование на языке высокого

Подробнее

Содержание. Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20

Содержание. Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20 Содержание Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20 Что такое язык программирования?...20 В чем различие между C и C++?.........................................21 Обязательно

Подробнее

СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ

СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ Методические указания к лабораторным работам для студентов 1 курса ФПМиИ ( направление 010400 прикладная математика и информатика, направление 010500 математическое обеспечение

Подробнее

СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ. Методические указания к лабораторным работам для студентов

СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ. Методические указания к лабораторным работам для студентов Министерство общего и профессионального образования Российской Федерации Новосибирский Государственный Технический Университет СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ Методические указания к лабораторным работам

Подробнее

Билет 3 Задачи 3, 17, 27 из списка. Механизм исключений (Exceptions) языка C++ и его использование для обработки ошибочных ситуаций.

Билет 3 Задачи 3, 17, 27 из списка. Механизм исключений (Exceptions) языка C++ и его использование для обработки ошибочных ситуаций. Билет 1 Задачи 1, 6, 19 из списка. Основные понятия объектно-ориентированного программирования: класс, описание класса и объекты. Члены и методы класса. Виды памяти в C++ (статическая, стековая, динамическая),

Подробнее

Программирование и основы алгоритмизации. Лекция 5 Рекурсивные структуры данных. Деревья

Программирование и основы алгоритмизации. Лекция 5 Рекурсивные структуры данных. Деревья Программирование и основы алгоритмизации Лекция 5 Рекурсивные структуры данных. Деревья Рекурсивные структуры данных По аналогии с рекурсивным вызовом функции существуют структуры данных, допускающие рекурсивное

Подробнее

Практика программирования 9

Практика программирования 9 Практика программирования 9 Стек, очередь, дек. Реализация на основе ограниченного массива Замена рекурсии стеком и циклом Автомат с магазинной памятью Кувшинов Д.Р. КМиММ УрФУ Екатеринбург 2011 Контейнеры

Подробнее

Паспорт. фонда оценочных средств по дисциплине Типы и структуры данных (наименование дисциплины)

Паспорт. фонда оценочных средств по дисциплине Типы и структуры данных (наименование дисциплины) Паспорт фонда оценочных средств по дисциплине Типы и структуры данных (наименование дисциплины) Перечень компетенций: 1. ПК-1: понимание основных концепций, принципов, теорий и фактов, связанных с информатикой

Подробнее

Лекция 1. Автор: Шустова Лариса Ивановна доцент кафедры компьютерных систем и технологий НИЯУ МИФИ.

Лекция 1. Автор: Шустова Лариса Ивановна доцент кафедры компьютерных систем и технологий НИЯУ МИФИ. Лекция 1. Автор: Шустова Лариса Ивановна доцент кафедры компьютерных систем и технологий НИЯУ МИФИ. Список литературы 1. Кормен Т.Х., Лейзерсон Ч.И., Ривест Р.Л., Штайн К. Алгоритмы: построение и анализ,

Подробнее

Предисловие Введение Часть I. Процесс собеседования...16

Предисловие Введение Часть I. Процесс собеседования...16 Оглавление Предисловие...13 Введение...14 Что-то не так...14 Мой подход...15 Моя страсть...15 От издательства...15 Часть I. Процесс собеседования...16 Небольшое вступление...16 Как выбираются вопросы...16

Подробнее

Министерство РФ по связи и информатизации. Поволжская Государственная Академия Телекоммуникаций и Информатики МЕТОДИЧЕСКИЕ УКАЗАНИЯ

Министерство РФ по связи и информатизации. Поволжская Государственная Академия Телекоммуникаций и Информатики МЕТОДИЧЕСКИЕ УКАЗАНИЯ Министерство РФ по связи и информатизации Поволжская Государственная Академия Телекоммуникаций и Информатики МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторным работам по дисциплине «Структуры и алгоритмы обработки

Подробнее

Практика программирования 17

Практика программирования 17 Практика программирования 17 Двоичное дерево поиска Сбалансированные деревья AA-дерево Кувшинов Д.Р. КМиММ УрФУ Екатеринбург 2012 Двоичное дерево Binary tree Структура из элементов (узлов). Один из узлов

Подробнее

1. ЦЕЛЬ, ЗАДАЧИ И КРАТКИЕ СВЕДЕНИЯ О СОДЕРЖАНИИ ДИСЦИПЛИНЫ ЦЕЛЬ ДИСЦИПЛИНЫ

1. ЦЕЛЬ, ЗАДАЧИ И КРАТКИЕ СВЕДЕНИЯ О СОДЕРЖАНИИ ДИСЦИПЛИНЫ ЦЕЛЬ ДИСЦИПЛИНЫ 1. ЦЕЛЬ, ЗАДАЧИ И КРАТКИЕ СВЕДЕНИЯ О СОДЕРЖАНИИ ДИСЦИПЛИНЫ ЦЕЛЬ ДИСЦИПЛИНЫ Без понимания структур данных и алгоритмов невозможно создать серьезный программный продукт. «Они служат базовыми элементами любой

Подробнее

Лекция 1. Динамические массивы и некоторые структуры данных.

Лекция 1. Динамические массивы и некоторые структуры данных. Лекция 1. Динамические массивы и некоторые структуры данных. План лекции Массивы Динамические массивы в С Динамические массивы в С++ Вектор Стек и Очередь и Дек и 2 Массивы

Подробнее

Билет 3 Задача 19 из списка. Статические члены и методы классов. Наследование классов, виртуальные методы.

Билет 3 Задача 19 из списка. Статические члены и методы классов. Наследование классов, виртуальные методы. Билет 1 Задача 50 из списка. Язык C++. Типы, операции. Классы, члены классов, методы. Конструктор по умолчанию и copy-конструктор. Переопределение операторов для классов на примере классов вектор на плоскости,

Подробнее

Такое приведение леса к двоичному дереву называется естественным соответствием между лесом и двоичными деревьями.

Такое приведение леса к двоичному дереву называется естественным соответствием между лесом и двоичными деревьями. Лекция 22 Топологическая сортировка. 22.1. Представление произвольного дерева в виде двоичного. 22.1.1. В отличие от двоичного дерева произвольное дерево не может быть пустым (по определению оно должно

Подробнее

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ» СТАРООСКОЛЬСКИЙ ФИЛИАЛ ( С О Ф Н И У «Б е

Подробнее

УДАЛЕНИЕ ЭЛЕМЕНТА ИЗ ПРЕФИКСНОГО ДЕРЕВА

УДАЛЕНИЕ ЭЛЕМЕНТА ИЗ ПРЕФИКСНОГО ДЕРЕВА УДАЛЕНИЕ ЭЛЕМЕНТА ИЗ ПРЕФИКСНОГО ДЕРЕВА 1. Отыскиваем лист, содержащий искомый ключ key А Т И 2. Если текущий узел не имеет дочерних узлов, удаляем его из памяти (в противном случае заканчиваем подъем

Подробнее

Структуры данных. Евгений Капун. 11 ноября 2012 г.

Структуры данных. Евгений Капун. 11 ноября 2012 г. Структуры данных Евгений Капун 11 ноября 2012 г. Введение Существуют задачи, решением которых является структура данных. Обычно они имеют вид «поддерживайте некоторую информацию и выполняйте на ней определённые

Подробнее

РАБОЧАЯ ПРОГРАММА дисциплины «Алгоритмы и структуры данных» для специальности "Прикладная информатика (по областям)"

РАБОЧАЯ ПРОГРАММА дисциплины «Алгоритмы и структуры данных» для специальности Прикладная информатика (по областям) МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ

Подробнее

Основы ЭВМ и программирование механико-математический факультет 2 курс, 3 пот ок, учебный год

Основы ЭВМ и программирование механико-математический факультет 2 курс, 3 пот ок, учебный год Билет 1 1. Общая архитектура микропроцессорных вычислительных систем. Функциональная схема компьютера. Типы и характеристики микропроцессоров (разрядность, частота синхронизации, организация системы команд).

Подробнее

14. Обобщённые классы

14. Обобщённые классы 14. Обобщённые классы 14.1. Обобщённые структуры данных 14.1-0 Написать обобщённый класс, реализующий квадродерево дерево, у каждого внутреннего узла которого ровно 4 потомка. Значения в узлах могут быть

Подробнее

Неасимптотическая оптимизация

Неасимптотическая оптимизация Неасимптотическая оптимизация Евгений Капун 15 ноября 2012 г. Введение Бывает, что даже асимптотически оптимальные алгоритмы не укладываются в ограничение времени. Это связано с тем, что константный множитель

Подробнее

АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ

АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ ТЕОРИЯ И ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ Лекция 4. Структуры данных. Управление памятью Глухих Михаил Игоревич, к.т.н., доц. mailto: glukhikh@mail.ru Структуры данных. Управление

Подробнее

Контроль знаний студента

Контроль знаний студента Контроль знаний студента Перечень теоретических вопросов по дисциплине «Структуры данных»: 1. Классификация структур данных. 2. Массивы. Функция адресации. 3. Линейные списки. Основные процедуры по ведению

Подробнее

Курс «Алгоритмы и алгоритмические языки» Лекция 17

Курс «Алгоритмы и алгоритмические языки» Лекция 17 Курс «Алгоритмы и алгоритмические языки» Лекция 17 1 Представление двоичного дерева в памяти компьютера Описание узла двоичного дерева на Си: typedef struct bin_tree { char info; struct bin_tree *left;

Подробнее

Хеш-таблицы. Лекция 6. Курносов Михаил Георгиевич

Хеш-таблицы. Лекция 6. Курносов Михаил Георгиевич Лекция 6 Хеш-таблицы Курносов Михаил Георгиевич к.т.н. доцент Кафедры вычислительных систем Сибирский государственный университет телекоммуникаций и информатики http://www.mkurnosov.net/teaching АТД Словарь

Подробнее

Сравнение АВЛ и Красно-черного дерева

Сравнение АВЛ и Красно-черного дерева УДК 004.651.53 Сравнение АВЛ и Красно-черного дерева Опрышко А. В., студент Россия, 105005, г. Москва, МГТУ им. Н.Э. Баумана, кафедра «Системы обработки информации и управления» Научный руководитель: Гапанюк

Подробнее

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ

Подробнее

ФТД.1 Алгоритмы и структуры данных Цели и задачи изучения дисциплины Требования к результатам освоения дисциплины знать уметь

ФТД.1 Алгоритмы и структуры данных Цели и задачи изучения дисциплины Требования к результатам освоения дисциплины знать уметь ФТД.1 Алгоритмы и структуры данных Цели и задачи изучения дисциплины Основной целью изучения дисциплины «Алгоритмы и структуры данных» является применяемых в программировании (и информатике) структур данных,

Подробнее

Курс «Алгоритмы и алгоритмические языки» Лекция 15

Курс «Алгоритмы и алгоритмические языки» Лекция 15 Курс «Алгоритмы и алгоритмические языки» Лекция 15 1 Сортировка Оценка сложности алгоритмов сортировки Скорость сортировки определяется количеством сравнений и количеством обменов (обмены занимают больше

Подробнее

Функции. Функция поименнованная часть программы, которая может вызываться из других частей программы неограниченное число раз.

Функции. Функция поименнованная часть программы, которая может вызываться из других частей программы неограниченное число раз. Функции Функция поименнованная часть программы, которая может вызываться из других частей программы неограниченное число раз. Это отдельная подпрограмма, управляемая входами и возвращающая что-то на выходе.

Подробнее

6.6 Ассоциативные массивы

6.6 Ассоциативные массивы 6.6 Ассоциативные массивы Отображения и неупорядоченное отображение можно рассматривать как ассоциативные массивы. Вместо индекса в обычном массиве, используется уникальный ключ, который есть у каждого

Подробнее

План практикума по курсу «Алгоритмы и структуры данных»

План практикума по курсу «Алгоритмы и структуры данных» План практикума по курсу «Алгоритмы и структуры данных» Приводится примерный список задач для разбора на практических занятиях (38 часов 19 пар). Занятия 1-4 (8 часов). Работа с файлами. 1. Дан текстовый

Подробнее

Лекция 2. Как выполняются программы на C++

Лекция 2. Как выполняются программы на C++ http://compscicenter.ru 1/21 Лекция 2. Как выполняются программы на C++ Александр Смаль CS центр 15 сентября 2016 Санкт-Петербург http://compscicenter.ru 2/21 Типы данных Целочисленные: 1. char (символьный

Подробнее

ЛЕКЦИЯ КРАСНО-ЧЕРНЫЕ ДЕРЕВЬЯ SPLAY-ДЕРЕВЬЯ

ЛЕКЦИЯ КРАСНО-ЧЕРНЫЕ ДЕРЕВЬЯ SPLAY-ДЕРЕВЬЯ ЛЕКЦИЯ 5 КРАСНО-ЧЕРНЫЕ ДЕРЕВЬЯ SPLAY-ДЕРЕВЬЯ 2 БАЛАНСИРОВКА ДЕРЕВА Бинарные деревья работают лучше всего, когда они сбалансированы, когда длина пути от корня до любого из листьев находится в определенных

Подробнее

Билет 3 Задача 19 из списка. Статические члены и методы классов. Наследование классов, виртуальные методы.

Билет 3 Задача 19 из списка. Статические члены и методы классов. Наследование классов, виртуальные методы. Билет 1 Задача 50 из списка. Язык C++. Типы, операции. Классы, члены классов, методы. Конструктор по умолчанию и copy-конструктор. Переопределение операторов для классов на примере классов вектор на плоскости,

Подробнее

Язык программирования Си. Семинар 8. Пользовательские типы данных (enum, struct, union). Побитовые операторы.

Язык программирования Си. Семинар 8. Пользовательские типы данных (enum, struct, union). Побитовые операторы. Язык программирования Си Бикулов Д.А., Иваницкая Н.В., Иванов А.П. Семинар 8. Пользовательские типы данных (enum, struct, union). Побитовые операторы. 1 Структуры Структура это объединение нескольких переменных

Подробнее

Задание 2 Бинарные деревья поиска и хеш-таблицы

Задание 2 Бинарные деревья поиска и хеш-таблицы Задание 2 Бинарные деревья поиска и хеш-таблицы Постановка задачи Требуется реализовать на языке C две библиотеки для работы с бинарным деревом поиска (Binary search tree) и хеш-таблицей (Hash table).

Подробнее

Оценки (заполняется преверяющими) Question: Total Points: Score: = lim 3. Алгоритм heapsort сортирует массив in-place.

Оценки (заполняется преверяющими) Question: Total Points: Score: = lim 3. Алгоритм heapsort сортирует массив in-place. Теория алгоритмов Весенний семестр 27 Тест # Вариант # 2 апреля 27 5: 6:3 Студент: Оценки (заполняется преверяющими) Question: 2 3 5 6 Total Points: 7 3 5 5 Score:. (7 points) Отметьте только верные утверждения

Подробнее

Разбор задач тренировки 05 января 2010 года

Разбор задач тренировки 05 января 2010 года Разбор задач тренировки января 2 года Задача. Чертёжник 2. (авторы разбора Н.О. Лесников, С.И. Кашкевич) Для каждого цвета i определим минимальный по площади ограничивающий прямоугольник для всех пикселей

Подробнее

АННОТАЦИЯ РАБОЧЕЙ ПРОГРАММЫ

АННОТАЦИЯ РАБОЧЕЙ ПРОГРАММЫ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ

Подробнее

Содержание. Об авторах О научных редакторах Благодарности... 14

Содержание. Об авторах О научных редакторах Благодарности... 14 Содержание Об авторах... 12 О научных редакторах... 13 Благодарности... 14 Предисловие... 15 Предисловие к первому изданию.... 16 Введение... 19 Цель собеседования... 19 Как работать с этой книгой... 21

Подробнее

Лекция 21 Обход двоичного дерева

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

Подробнее

ЯЗЫКИ ПРОГРАММИРОВАНИЯ И МЕТОДЫ ТРАСЛЯЦИИ ЗАДАНИЯ ПО УЧЕБНОЙ ПРАКТИКЕ

ЯЗЫКИ ПРОГРАММИРОВАНИЯ И МЕТОДЫ ТРАСЛЯЦИИ ЗАДАНИЯ ПО УЧЕБНОЙ ПРАКТИКЕ Министерство образования и науки Российской федерации Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «РОСТОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 18

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 18 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017 Лекция 18 1 Двоичное дерево набор узлов, который: либо пуст (пустое дерево), либо разбит на три непересекающиеся части: узел, называемый корнем,

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2017/2018. Лекция 23

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2017/2018. Лекция 23 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2017/2018 Лекция 23 1 Алгоритмы перебора множеств Перестановка некоторого набора элементов это упорядоченная последовательность из этих элементов. Например,

Подробнее

СТРУКТУРЫ И АЛГОРИТМЫ ОБРАБОТКИ ДАННЫХ В ЭВМ

СТРУКТУРЫ И АЛГОРИТМЫ ОБРАБОТКИ ДАННЫХ В ЭВМ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Томский государственный университет систем управления и радиоэлектроники»

Подробнее

Простейшие контейнеры

Простейшие контейнеры Кафедра информационных систем и технологий http://edu.msiu.ru Е.А. Роганов Простейшие контейнеры Простейшие контейнеры 1 / 1 Простейшие контейнеры Контейнерные классы (container classes) классы, которые

Подробнее

Курс «Алгоритмы и алгоритмические языки» Лекция 20

Курс «Алгоритмы и алгоритмические языки» Лекция 20 Курс «Алгоритмы и алгоритмические языки» Лекция 20 Красно-черные деревья Красно-черное дерево двоичное дерево поиска, каждая вершина которого окрашена либо в красный, либо в черный цвет Поля цвет, дети,

Подробнее

Объявление функций в С/С++

Объявление функций в С/С++ Объявление функций в С/С++ Описание функций в отдельных файлах В С++ существует возможность поместить объявления функций в отдельный файл, тогда необходимо будет подключать файл с функциями, как в случае

Подробнее

Учебно-тематический план.

Учебно-тематический план. Учебно-тематический план. п/п Наименование тем (разделов) 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Модуль 1. Основы программирования на языке Java Порядок создания, компиляции, сборки и запуска в среде Android Developer

Подробнее

Содержание. Предисловие 14. Глава 1. Основные понятия 19. Об авторах 13

Содержание. Предисловие 14. Глава 1. Основные понятия 19. Об авторах 13 Содержание Об авторах 13 Предисловие 14 Отличительные черты 14 Сайт книги 15 Использование в учебном плане 16 Контекст 17 Благодарности 17 От издательства 18 Глава 1. Основные понятия 19 Алгоритмы 20 Краткий

Подробнее

ООП. С++. Вопросы для проверки и закрепления знаний. 7. Проанализируйте ранее разработанные Вами программы

ООП. С++. Вопросы для проверки и закрепления знаний. 7. Проанализируйте ранее разработанные Вами программы ООП. С++. Вопросы для проверки и закрепления знаний. 1. Проанализируйте ранее разработанные Вами программы и ответьте на вопрос: в каких из них наблюдается слабая связь между структурой данных и функционированием

Подробнее

ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ» УТВЕРЖДАЮ И.о. проректора

Подробнее

Лекция 4 Префиксные деревья (trie, prefix tree) Молдованова Ольга Владимировна

Лекция 4 Префиксные деревья (trie, prefix tree) Молдованова Ольга Владимировна Лекция 4 Префиксные деревья (trie, prefix tree) Молдованова Ольга Владимировна Курс «Структуры и алгоритмы обработки данных» Сибирский государственный университет телекоммуникаций и информатики (Новосибирск)

Подробнее

ГОУ ВПО Российско-Армянский (Славянский) университет. Ученое звание, ученая степень, Ф.И.О ЕРЕВАН

ГОУ ВПО Российско-Армянский (Славянский) университет. Ученое звание, ученая степень, Ф.И.О ЕРЕВАН ГОУ ВПО РОССИЙСКО-АРМЯНСКИЙ (СЛАВЯНСКИЙ) УНИВЕРСИТЕТ Составлен в соответствии с государственными требованиями к минимуму содержания и уровню подготовки выпускников по направлению ПМИ и Положением «Об УМКД

Подробнее

Лекция 9. Списки, деки

Лекция 9. Списки, деки Название Лекция 9., деки Объектно-ориентированное программирование на C ++ 1 ноября 2009 г. Лекция 9 1 / 23 Концепция списка Начало Концепция списка Характеристики Перенос элементов Аналоги алгоритмов

Подробнее