Национальный исследовательский университет «МИЭТ» МИЭТ. Кафедра ПКИМС. Теория алгоритмов. Лекция 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 Качество балансировки бинарного дерева Основная задача бинарных деревьев поиска ускорение поиска Хорошо сбалансированное дерево


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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 18 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019 Лекция 18 1 Организация стека как библиотеки stack.h: extern void push (char); extern char pop (void); extern int isempty (void); stack.c: #include

Подробнее

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

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

Подробнее

Практика программирования C++ Домашняя работа 9

Практика программирования C++ Домашняя работа 9 Практика программирования C++ Домашняя работа 9 Задание состоит из двух независимых частей. Часть 1 C-строкой называется массив char ов, последний из которых имеет числовое значение 0 («завершающий ноль»)

Подробнее

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

Подробнее

Курс «Алгоритмы и алгоритмические языки» 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.26. Виртуальные функции Выбор реализации функции во время выполнения называется динамическим полиморфизмом. Динамический полиморфизм основан на наследовании и виртуальных функциях. Виртуальная функция

Подробнее

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

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

Подробнее

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

Подробнее

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

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

Подробнее

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

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 19 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019 Лекция 19 1 Топологическая сортировка узлов ациклического ориентированного графа Структуры данных для представления узлов: Каждый узел исходного

Подробнее

Лекция 3 Бинарный поиск Связные списки

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

Подробнее

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 Кафедра компьютерных технологий Допускается свободное распространение с учебными

Подробнее

Связные списки. Лекция 5

Связные списки. Лекция 5 Связные списки Лекция 5 Связные списки (Linked lists) Связный список (linked list) динамическая структура данных для хранения информации, в которой каждый элемент хранит указатели на один или несколько

Подробнее

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

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

Подробнее

Лекция 5 Бинарные деревья поиска

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

Подробнее

Бинарные деревья поиска. Лекция 7

Бинарные деревья поиска. Лекция 7 Бинарные деревья поиска Лекция 7 АТД «Словарь» (dictionary) Словарь (dictionary) структура данных для хранения пар вида «ключ» «значение» (key value) Альтернативные название ассоциативный массив (associative

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Правительство Российской Федерации

Правительство Российской Федерации Правительство Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования Национальный исследовательский университет «Высшая школа экономики»

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 24 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019 Лекция 24 1 Пирамидальная сортировка: пирамида (двоичная куча) Рассматриваем массив a как двоичное дерево: Элемент a[i] является узлом дерева

Подробнее

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

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

Подробнее

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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 Примеры

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Методы вектора. Создание вектора - вызов конструктора с указанием типа элементов: vector <double> Vec1;

Методы вектора. Создание вектора - вызов конструктора с указанием типа элементов: vector <double> Vec1; Методы вектора Создание вектора - вызов конструктора с указанием типа элементов: vector Vec1; //Создание пустого вектора vector Vec2 (Num, fvar2); //Вектор из Num копий fvar2 vector

Подробнее

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

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

Подробнее

Сам список представляет собой связанные между собой узлы и определяется указателем на его начало. Указатель на первый узел обозначим head (голова

Сам список представляет собой связанные между собой узлы и определяется указателем на его начало. Указатель на первый узел обозначим head (голова Двусвязные списки Ранее мы познакомились со списками, которые называют односвязными. В таких списках имеется возможность передвигаться только в одном направлении. Имея указатель на какой-то элемент списка,

Подробнее

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

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

Подробнее

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

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

Подробнее

Коллекции С# Лекция 7

Коллекции С# Лекция 7 Коллекции С# Лекция 7 Структура лекции Назначение коллекций Типы коллекций Методы и свойства для работы с коллекциями C# 2 Что такое коллекция? Коллекция специализированный класс для хранения, извлечения

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 21 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019 Лекция 21 1 Двоичные деревья поиска Проблема: организовать хранилище данных, которое позволяет хранить большие объемы данных и предоставляет

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Кафедра программного обеспечения вычислительной техники и автоматизированных систем УТВЕРЖДАЮ Первый проректор по

Подробнее

Представление алгоритмов 12 Содержание книги 12 Упражнения 13 Благодарности 14

Представление алгоритмов 12 Содержание книги 12 Упражнения 13 Благодарности 14 Ñîäåðæàíèå Ïðåäèñëîâèå 12 Представление алгоритмов 12 Содержание книги 12 Упражнения 13 Благодарности 14 ÃËÀÂÀ 1. Ïîñòðîåíèå è àíàëèç àëãîðèòìîâ 15 1.1. От задачи к программе 15 Алгоритмы 16 Псевдоязык

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Содержание. Введение 19 Структура книги 19 Соглашения, принятые в книге 20 Примеры кода 21 От издательства 21

Содержание. Введение 19 Структура книги 19 Соглашения, принятые в книге 20 Примеры кода 21 От издательства 21 Содержание Введение 19 Структура книги 19 Соглашения, принятые в книге 20 Примеры кода 21 От издательства 21 ЧАСТЬ I. Основы 23 ЗАНЯТИЕ 1. Первые шаги 25 Краткий экскурс в историю языка C++ 26 Связь с

Подробнее

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

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

Подробнее

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Оглавление I. Планируемые результаты освоения учебного предмета... 5 II. Содержание учебного предмета... 8 III. Тематическое планирование учебного

Оглавление I. Планируемые результаты освоения учебного предмета... 5 II. Содержание учебного предмета... 8 III. Тематическое планирование учебного 2 Оглавление I. Планируемые результаты освоения учебного предмета... 5 II. Содержание учебного предмета... 8 III. Тематическое планирование учебного предмета... 9 3 I. Планируемые результаты освоения учебного

Подробнее

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

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

Подробнее

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

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

Подробнее

Хэш-таблицы. Лекция 8

Хэш-таблицы. Лекция 8 Хэш-таблицы Лекция 8 2 АТД «Словарь» (dictionary) Словарь (ассоциативный массив, associative array, map, dictionary) структура данных (контейнер) для хранения пар вида «ключ значение» (key value) Реализации

Подробнее

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

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

Подробнее

П р о г р а м м а к у р с а «Основные алгоритмы»

П р о г р а м м а к у р с а «Основные алгоритмы» П р о г р а м м а к у р с а «Основные алгоритмы» Ф У П М. 2 0 1 9 г. Содержание 1 Введение. Верхние и нижние оценки сложности алгоритмов................................. 2 2 Жадные алгоритмы........................

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Оценки (заполняется преверяющими) 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) Отметьте только верные утверждения

Подробнее

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

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

Подробнее

(Binomial heaps)

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее