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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Транскрипт

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

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

3 Что такое коллекция? Коллекция специализированный класс для хранения, извлечения данных. Коллекции обеспечивают поддержку: стеков, очередей, списков, хеш-таблиц 3

4 Основные структуры данных Стек структура данных в которой доступ к элементам организован по принципу «последний пришел первый вышел» («Last In First Out») 4

5 Основные структуры данных Очередь структура данных в которой доступ к элементам организован по принципу «первый пришел первый вышел» («First In First Out») FIFO 5

6 Основные структуры данных Список структура данных в которой каждый элемент содержит собственный данные и ссылку на другой элемент. Виды списков: Односвязный список Двусвязный список Кольцевой список 6

7 Основные структуры данных Односвязный список список в котором, каждый элемент содержит ссылку только на последующий элемент 7

8 Основные структуры данных Двусвязный список список в котором, каждый элемент содержит ссылку на последующий и предыдущий элемент 8

9 Основные структуры данных Кольцевой список список в котором, последний элемент содержит ссылку на первый элемент 9

10 Основные структуры данных Хеш-таблица структура данных в которой, данный хранятся в виде пары ключ, значение. Ключ уникален, значение - нет Хэш Ключ Значение table стол desk стол board стол house дом 10

11 Коллекции C# Тип коллекции Класс C# Стек Очередь Список Хэш-таблица Stack Queue List, ArrayList Hashtable, Dictionary 11

12 Стек - Stack Основные операции со стеком: Push вставить элемент вверх стека Pop удалить верхний элемент Peek значение верхнего элемента stack Stack stack = new Stack(); 2. stack.push(1); 3. stack.push(5); 4. stack.push(3); 5. stack.pop(); 6. int i = (int)stack.peek(); 12

13 Очередь - Queue Основные операции со стеком: Enqueue вставить элемент в конец Dequeue удалить элемент в начале Peek значение первого элемента в очереди queue Queue queue = new Queue(); 2. queue.enqueue(1); 3. queue.enqueue(5); 4. queue.enqueue(3); 5. queue.dequeue(); 6. int i = (int)queue.peek(); 13

14 Список - List, ArrayList Особенности: в отличии фиксированного размера массива, в коллекции List и ArrayList размер увеличивается по мере необходимости. 14

15 Хэш-таблица - Hashtable Особенности: за счет вычисления хэш-кода на основе ключа, повышается скорость доступа к элементам коллекции 15

16 Хэш-таблица - Dictionary Особенности: позволяет задавать пары (ключ, значение) определенного типа данных, в отличии от hashtable 16

17 Основные операции над коллекциями Название Add Clear Contains ContainsKey ContainsValue GetByIndex IndexOfKey IndexOfValue Remove RemoveAt Описание Добавление элемента Удалить все элементы Определяет содержится ли элемент в коллекции Определяет содержится ли ключ в коллекции Определяет содержится ли значение в коллекции Получает значение по указанному индексу Получить индекс указанного ключа Получить индекс указанного значения Удалить элемент с указанным ключом Удалить элемент с указанным индексом 17

18 Основные свойства коллекций Название Capacity Count Keys Values Описание Получить или задать емкость коллекции Получить количество элементов коллекции Получить список ключей в коллекции Получить список значений в коллекции 18


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

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

Подробнее

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

public private Обертывание

public private Обертывание Интерфейсы Основное назначение интерфейсов - обеспечить возможность классу иметь несколько родителей - один полноценный класс, а остальные в виде интерфейсов. Интерфейс позволяет описывать некоторые желательные

Подробнее

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

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

Подробнее

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

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

Подробнее

Курс «Алгоритмы и алгоритмические языки» 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

Подробнее

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

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

Подробнее

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

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

Подробнее

Лекция 6. Коллекции Итераторы

Лекция 6. Коллекции Итераторы Лекция 6 Коллекции Итераторы Коллекции Итераторы Коллекции Итераторы Коллекция Класс (объект), основное назначение которого содержать в себе другие объекты по определенной дисциплине Примеры коллекций

Подробнее

Глухих Михаил Игоревич mailto:

Глухих Михаил Игоревич mailto: Глухих Михаил Игоревич mailto: glukhikh@mail.ru Ассоциативный массив, хранящий в себе пары ключ-значение (Key-Value) Ключи и значения неупорядочены, но каждое значение жестко привязано к своему ключу Совпадение

Подробнее

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 Абстрактный тип данных (АТД) это тип данных, который предоставляет для работы с элементами этого типа определѐнный набор операций (функций ) а также возможность создавать

Подробнее

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

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

Подробнее

Java 1. Классы. Интерфейс. Vector, Stack, Hashtable, BitSet. Enumeration

Java 1. Классы. Интерфейс. Vector, Stack, Hashtable, BitSet. Enumeration Коллекции в Java Java 1 Классы Vector, Stack, Hashtable, BitSet Интерфейс Enumeration Начиная с Java 1.2 Базовые интерфейсы коллекций в пакете java.util.* Коллекции Коллекция неупорядоченный набор элементов

Подробнее

структура одного элемента type LIST = celltype; celltype = record element: eltype; next: LIST end; position = celltype; Java_node

структура одного элемента type LIST = celltype; celltype = record element: eltype; next: LIST end; position = celltype; Java_node Реализация АТД список:динамические структуры List class структура одного элемента type LIST = celltype; celltype = record element: eltype; next: LIST end; position = celltype; Java_node 1 Реализация на

Подробнее

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

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

Подробнее

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

Вариант выбирать в соответствии с собственным порядковым номером в списке группы. В случае нехватки вариантов считать, что нумерация циклическая. Лабораторная работа 3 Задание Требуется реализовать программу, состоящую из двух частей. Первая часть программы должна реализовывать операции над простыми структурами данных. Вторая часть задания выполняет

Подробнее

Производительность и сложность алгоритмов в функциональных языках

Производительность и сложность алгоритмов в функциональных языках Производительность и сложность алгоритмов в функциональных языках Михаил Беляев 23 октября 2018 г. 1/39 Проблема рекурсии Всем известно, что глубина рекурсии в (процедурных) программах ограничена Превышение

Подробнее

МИРЭА. Отчет по практической работе 1 по дисциплине «Структуры и алгоритмы обработки данных» Выполнил студент группы ИСБОп Принял Шмелёва Д. В.

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

Подробнее

Выпуклая оболочка часть 1

Выпуклая оболочка часть 1 Кафедра информационных систем и технологий http://edu.msiu.ru Е.А. Роганов Выпуклая оболочка часть 1 Выпуклая оболочка часть 1 1 / 8 Выпуклые множества и выпуклая оболочка Множество M называется выпуклым,

Подробнее

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

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

Подробнее

STL: последовательные контейнеры

STL: последовательные контейнеры http://compscicenter.ru 1/13 Александр Смаль CS центр 10 февраля 2016 Санкт-Петербург http://compscicenter.ru 2/13 STL: введение STL = Standard Template Library STL описан в стандарте C++, но не упоминается

Подробнее

РЕАЛИЗАЦИЯ СТРУКТУР ДАННЫХ

РЕАЛИЗАЦИЯ СТРУКТУР ДАННЫХ РЕАЛИЗАЦИЯ СТРУКТУР ДАННЫХ Чтобы рисовать слона, надо его сначала увидеть. Вьетнамская пословица Содержание 2 Понятие структуры данных Основные структуры данных Реализация структур данных в языке Pascal

Подробнее

Розділ 5. Ответьте на вопросы: Как в библиотеке C++ потокового ввода/вывода осуществляется работа с текстовыми файлами? Приведите примеры.

Розділ 5. Ответьте на вопросы: Как в библиотеке C++ потокового ввода/вывода осуществляется работа с текстовыми файлами? Приведите примеры. Билет 1 Как обрезать существующий файл до нужной длины? a+b для трёхкомпонентных векторов Опишите параметризованный класс двусвязный список элементов (параметр тип). Шаблон stack. Как в библиотеке C++

Подробнее

Информатика. абстрактные типы данных, коллекции и структуры данных. Марченко Антон Александрович Абрамский Михаил Михайлович г.

Информатика. абстрактные типы данных, коллекции и структуры данных. Марченко Антон Александрович Абрамский Михаил Михайлович г. Информатика абстрактные типы данных, коллекции и структуры данных Марченко Антон Александрович Абрамский Михаил Михайлович 2017 г. План лекции Типы данных Обобщенные типы (generics) Абстрактные типы данных

Подробнее

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

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

Подробнее

МЕТОДЫ ПРОГРАММИРОВАНИЯ - 2

МЕТОДЫ ПРОГРАММИРОВАНИЯ - 2 НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМ. Н.И. ЛОБАЧЕВСКОГО ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МАТЕМАТИКИ И МЕХАНИКИ Учебный курс МЕТОДЫ ПРОГРАММИРОВАНИЯ - 2 Нижегородский государственный университет

Подробнее

Программирование на языке высокого уровня

Программирование на языке высокого уровня Программирование на языке высокого уровня Модуль 5. Сложные структуры данных Цой Ю.Р. Кафедра вычислительной техники Томский политехнический университет Содержание } 1. Стеки и очереди } 2. Деревья } 3.

Подробнее

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

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

Подробнее

Python: Функции и структуры данных

Python: Функции и структуры данных Python: Функции и структуры данных Стеки Стек (LIFO) это список Добавление элемента в стек: append(x) Извлечение элемента с вершины стека: pop() >>> stack = * +, -, +, * + >>> stack.append( - ) >>> stack.append(

Подробнее

Стандартная библиотека Java: пакет java.util

Стандартная библиотека Java: пакет java.util Стандартная библиотека Java: пакет java.util Алексей Владыкин 24 октября 2012 Алексей Владыкин java.util 24 октября 2012 1 / 33 1 Collections Framework 2 Generics 3 Другие классы java.util Алексей Владыкин

Подробнее

К вопросу о производительности

К вопросу о производительности К вопросу о производительности Михаил Беляев 26 ноября 2015 1/31 Проблема рекурсии Всем известно, что глубина рекурсии в (процедурных) программах ограничена Превышение ограничения приводит к переполнению

Подробнее

Пример. Вычислить сколько раз каждая буква встречается в тексте. 1. File new new java project. 2. Добавим окошко. 3. Получили

Пример. Вычислить сколько раз каждая буква встречается в тексте. 1. File new new java project. 2. Добавим окошко. 3. Получили Пример. Вычислить сколько раз каждая буква встречается в тексте. 1. File new new java project. 2. Добавим окошко. 3. Получили 4. Чтобы можно было компоненты располагать произвольно, правой кнопкой по форме,

Подробнее

Коллекции. Массивы удобнее всего использовать для создания и работы с фиксированным числом строго типизированных объектов.

Коллекции. Массивы удобнее всего использовать для создания и работы с фиксированным числом строго типизированных объектов. Коллекции Во многих приложениях требуется создавать группы связанных объектов и управлять этими группами. Существует два способа группировки объектов: создать массив объектов и создать коллекцию. Массивы

Подробнее

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

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

Подробнее

STL: последовательные контейнеры

STL: последовательные контейнеры http://compscicenter.ru 1/11 Александр Смаль CS центр 12 февраля 2014 Санкт-Петербург http://compscicenter.ru 2/11 STL: введение STL = Standard Template Library STL описан в стандарте C++, но не упоминается

Подробнее

Лабораторная работа 3. Подпрограммы и стек. Командный цикл процессора. Цель: Реализация подпрограмм. Исследование работы микрокоманд. Часть 1.

Лабораторная работа 3. Подпрограммы и стек. Командный цикл процессора. Цель: Реализация подпрограмм. Исследование работы микрокоманд. Часть 1. Лабораторная работа 3. Подпрограммы и стек. Командный цикл процессора. Цель: Реализация подпрограмм. Исследование работы микрокоманд. Подпрограммы и стек Часть 1. В программировании часто встречаются ситуации,

Подробнее

Cтруктуры данных и процедуры в языке perl

Cтруктуры данных и процедуры в языке perl Cтруктуры данных и процедуры в языке perl СПИСКИ: Список упорядоченная коллекция скаляров. (); # пустой список. qw//; ("a", 45, "car", "foo"); # тоже пустой список. # список из 4 элементов. qw/you can

Подробнее

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

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

Подробнее

Выбор реализации функции во время выполнения называется динамическим полиморфизмом.

Выбор реализации функции во время выполнения называется динамическим полиморфизмом. 5.26. Виртуальные функции Выбор реализации функции во время выполнения называется динамическим полиморфизмом. Динамический полиморфизм основан на наследовании и виртуальных функциях. Виртуальная функция

Подробнее

Язык программирования Си

Язык программирования Си Язык программирования Си Бикулов Д.А., Иваницкая Н.В., Иванов А.П. Семинар 6. Указатели. Передача параметра в функцию по указателю. Функции работы с динамической памятью. Динамические массивы. Указатель

Подробнее

Программы из нескольких файлов

Программы из нескольких файлов 102 В.Л. Тарасов Лекции по программированию на C++ Лекция 8 Программы из нескольких файлов Как правило, исходные тексты программ на C++ размещают в нескольких файлах. Это удобно, так как небольшой код

Подробнее

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

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

Подробнее

Дистанционная подготовка к Всероссийской олимпиаде по информатике

Дистанционная подготовка к Всероссийской олимпиаде по информатике Дистанционная подготовка к Всероссийской олимпиаде по информатике Преподаватели: к.ф.-м.н., заведующий кафедрой «САПР» ДВГУПС Пономарчук Юлия Викторовна E-mail: yulia.ponomarchuk@gmail.com преподаватель

Подробнее

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

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

Подробнее

ЛЕКЦИЯ 8 СТРУКТУРЫ ДАННЫХ. СТЕК

ЛЕКЦИЯ 8 СТРУКТУРЫ ДАННЫХ. СТЕК ЛЕКЦИЯ 8 СТРУКТУРЫ ДАННЫХ. СТЕК На этой лекции речь пойдёт о структурах данных. Теперь, когда синтаксис языка хорошо изучен, можно приступать к более сложным вещам. Задача Дана строка, состоящая из открывающих

Подробнее

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

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

Подробнее

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

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

Подробнее

Первый курс, весенний семестр 2015/16 Практика по алгоритмам #3 B-tree, RB-tree, RBST, Persistent 22 февраля

Первый курс, весенний семестр 2015/16 Практика по алгоритмам #3 B-tree, RB-tree, RBST, Persistent 22 февраля Первый курс, весенний семестр 2015/16 Практика по алгоритмам #3 B-tree, RB-tree, RBST, Persistent 22 февраля Собрано 10 мая 2016 г. в 18:14 Содержание 1. Задачи на тему B-tree, RB-tree, RBST, Persistent

Подробнее

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ 2 ВОПРОСЫ Что такое абстрактный класс? Что такое шаблон класса? Что такое развертывание стека? Можно ли унаследовать один класс исключения от другого? Что означает

Подробнее

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

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

Подробнее

Collections Framework и Generics

Collections Framework и Generics и Generics Алексей Владыкин 6 октября 2014 Алексей Владыкин Collections 6 октября 2014 1 / 45 1 Generics 2 Collections Framework Алексей Владыкин Collections 6 октября 2014 2 / 45 Generics Алексей Владыкин

Подробнее

Введение в программирование Урок 13: Анализ сложности

Введение в программирование Урок 13: Анализ сложности Введение в программирование Урок 13: Анализ сложности Введение в компьютерные науки - урок 13 1 Анализ сложности программы по времени Функция f1() ищет индекс такого элемента в массиве a[], который присутствует

Подробнее

ИНФОРМАТИКА Основы программирования Типы данных

ИНФОРМАТИКА Основы программирования Типы данных ИНФОРМАТИКА Основы программирования Типы данных Массивы Массив переменных или объектов состоит из определенного числа однотипных данных, называемых элементами массива. Все элементы массива индексируются

Подробнее

Объектно-ориентированное программирование на языке Java

Объектно-ориентированное программирование на языке Java Объектно-ориентированное программирование на языке Java Часть 6. Коллекции (1/2): Списки. Yevhen Berkunskyi, NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Прежде чем мы начнем Generics Начиная

Подробнее

Стандартная библиотека Java: пакет java.util

Стандартная библиотека Java: пакет java.util Стандартная библиотека Java: пакет java.util Что такое коллекции Разнообразные контейнеры для хранения наборов объектов Предоставляют значительно больше возможностей, чем массивы В первую очередь, возможность

Подробнее

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

Практика программирования 10 Практика программирования 10 Рекурсия/стек: ханойские башни Стековый калькулятор: выражения в инфиксной форме Двусвязный список, XOR-список Развёрнутый список Кувшинов Д.Р. КМиММ УрФУ Екатеринбург 2011

Подробнее

Программирование в C++ Преподаватель Колотова Людмила Павловна

Программирование в C++ Преподаватель Колотова Людмила Павловна Программирование в C++ Преподаватель Колотова Людмила Павловна 2 Содержание 7-го занятия по практике Массивы. Определение массивов. Доступ к элементам массивов. Среднее арифметическое элементов массива

Подробнее

>>>T=(3,4,[2,3, 4 ],3,4) >>>T[2]=

>>>T=(3,4,[2,3, 4 ],3,4) >>>T[2]= Кортежи Кортеж это неизменяемый список. Кортеж не может быть изменён никаким способом после его создания. Элементами кортежей могут быть объекты любых типов, поддерживают произвольное число уровней вложенности.

Подробнее

Низкоуровневые средства C++ для работы с памятью

Низкоуровневые средства C++ для работы с памятью Низкоуровневые средства C++ для работы с памятью Курс «Разработка ПО систем управления» Кафедра управления и информатики НИУ «МЭИ» Весна 2018 г. Модель памяти С++ Независимо от физического исполнения ОЗУ

Подробнее

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

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

Подробнее

Первый курс, осенний семестр 2016/17 Практика по алгоритмам #3 Структуры данных 22 сентября. Собрано 25 сентября 2016 г. в 22:59

Первый курс, осенний семестр 2016/17 Практика по алгоритмам #3 Структуры данных 22 сентября. Собрано 25 сентября 2016 г. в 22:59 Первый курс, осенний семестр 206/7 Практика по алгоритмам #3 Структуры данных 22 сентября Собрано 25 сентября 206 г. в 22:59 Алгоритмы, осень 206/7.. Задачи про суммы. 2. 3. n n 2 n.0 2 4. 5. 6. n ( )

Подробнее

Динамический интерфейс с помощью Java Script

Динамический интерфейс с помощью Java Script Динамический интерфейс с помощью Java Script План Основы языка Java Script Организация динамического поведения элементов интерфейса Основы языка Java Script Переменные Объявление переменной var message;

Подробнее

Шаблоны ( template) средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам

Шаблоны ( template) средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам Шаблоны 2013 Шаблоны ( template) средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам данных, размерам буферов, значениям по умолчанию)

Подробнее

Павел Степанов Кафедра компьютерной математики и программирования СПб ГУАП

Павел Степанов Кафедра компьютерной математики и программирования СПб ГУАП Павел Степанов Кафедра компьютерной математики и программирования СПб ГУАП Тема 6 Коллекции generics Collections framework Проект Lambda 6.1 Параметризованный класс Позволяют типу быть параметром класса

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Глухих Михаил Игоревич mailto:

Глухих Михаил Игоревич mailto: Глухих Михаил Игоревич mailto: glukhikh@mail.ru Типы Примитивные Ссылочные (объекты) Массивы Массивы примитивных данных Массивы объектов «Настоящие» объекты Интерфейсы List, MutableList Классы ArrayList,

Подробнее

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

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 17 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019 Лекция 17 1 Алгоритм Кнута Морриса Пратта. Идея Префикс-функция, ассоциированная с образцом P, показывает, где в строке P повторно встречаются

Подробнее

Предисловие ко второму изданию Вступление От издательства Тема 1. Как написать простую программу на Паскале...

Предисловие ко второму изданию Вступление От издательства Тема 1. Как написать простую программу на Паскале... Содержание Предисловие ко второму изданию... 15 Вступление.... 16 От издательства... 16 Тема 1. Как написать простую программу на Паскале.... 17 Урок 1.1. Выводим сообщение на экран дисплея... 18 Урок

Подробнее

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

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

Подробнее

Стеки и очереди Stacks and Queues

Стеки и очереди Stacks and Queues Стеки и очереди Stacks and Queues Это методы хранения и доступа к данным, для которых характерны следующие функции: 1.добавления 2.извлечение с удалением Stack. Основной принцип: первым удаляется последний

Подробнее

Хеширование данных АиСД 1

Хеширование данных АиСД 1 Хеширование данных Хеширование - разбиение множества ключей (однозначно характеризующих элементы хранения и представленных, как правило, в виде текстовых строк или чисел) на непересекающиеся подмножества

Подробнее

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

Алгоритмы и структуры данных Алгоритмы и структуры данных Косяков Михаил Сергеевич к.т.н., доцент кафедры ВТ Тараканов Денис Сергеевич ассистент кафедры ВТ Бабаянц Александр Амаякович https://vk.com/algoclass_2018 Содержание курса

Подробнее

СТАНЬ помощником SQLite

СТАНЬ помощником SQLite упражнение 682 глава 15 СТАНЬ помощником SQLite Справа приведены примеры кода помощника SQLite. Представьте себя на месте помощника SQLite и скажите, какой из сегментов кода (из помеченных буквами) будет

Подробнее

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

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

Подробнее

Реализация параллелизма с использованием «эффективных объектов»

Реализация параллелизма с использованием «эффективных объектов» Реализация параллелизма с использованием «эффективных объектов» Решение задач организации параллелизма приложения происходит традиционно, применяя вытесняющую многозадачность. Такая схема целесообразна,

Подробнее

Лекция 1 Амортизационный анализ (Amortized analysis)

Лекция 1 Амортизационный анализ (Amortized analysis) Лекция 1 Амортизационный анализ (Amortized analysis) Курносов Михаил Георгиевич E-mail: mkurnosov@gmail.com WWW: www.mkurnosov.net Курс Алгоритмы и структуры данных Сибирский государственный университет

Подробнее

Программирование на языке Java

Программирование на языке Java Теория и технология программирования Программирование на языке Java Лекция 5. Библиотека коллекций Глухих Михаил Игоревич, к.т.н., доц. mailto: glukhikh@mail.ru Назначение Работа с контейнерами различного

Подробнее

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

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

Подробнее

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

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

Подробнее

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

Алгоритмы и структуры данных Алгоритмы и структуры данных Косяков Михаил Сергеевич к.т.н., доцент кафедры ВТ Тараканов Денис Сергеевич ассистент кафедры ВТ Бабаянц Александр Амаякович https://vk.com/algoclass_2018 Содержание курса

Подробнее

Глава 11. Контейнерные классы

Глава 11. Контейнерные классы Глава 11. Контейнерные классы Контейнерные классы это классы, предназначенные для хранения данных, организованных определенным образом. Один и тот же вид контейнера можно использовать для хранения данных

Подробнее

Лекция 1 Амортизационный анализ (amortized analysis)

Лекция 1 Амортизационный анализ (amortized analysis) Лекция 1 Амортизационный анализ (amortized analysis) Курносов Михаил Георгиевич E-mail: mkurnosov@gmail.com WWW: www.mkurnosov.net Курс «Структуры и алгоритмы обработки данных» Сибирский государственный

Подробнее

Лекция 5. Обобщения (шаблоны)

Лекция 5. Обобщения (шаблоны) Лекция 5 Обобщения (шаблоны) Тип, метод или интерфейс параметризованный другим типом Обобщенный тип Тип (класс, структура), который параметризован другим типом class Queue { } struct Complex { }

Подробнее

Стеки и очереди. Глава 4. Другие структуры. Инструменты программиста. Ограничение доступа

Стеки и очереди. Глава 4. Другие структуры. Инструменты программиста. Ограничение доступа Глава 4 Стеки и очереди В этой главе рассматриваются три структуры данных: стек, очередь и приоритетная очередь. Сначала будут описаны основные отличия этих структур от массивов, а затем мы рассмотрим

Подробнее

Обобщенное программирование

Обобщенное программирование Государственное образовательное учреждение высшего профессионального образования Московской области «Международный университет природы, общества и человека «Дубна» (университет «Дубна») УТВЕРЖДЮ проректор

Подробнее

Значение переменной в памяти. Память. Аргументы функции: вызовы по значению (by value) и по ссылке (by reference)

Значение переменной в памяти. Память. Аргументы функции: вызовы по значению (by value) и по ссылке (by reference) Тема : знакомство с С (Си). Рекурсия и стеки (продолжение) Содержание: указатели, аргументы функции, доступ к элементам массива через указатели, рекурсия, разделение программы на файлы, упражнение 1, упражнение

Подробнее

ОЦЕНКА АЛГОРИТМОВ, РЕКУРСИЯ, СОРТИРОВКА

ОЦЕНКА АЛГОРИТМОВ, РЕКУРСИЯ, СОРТИРОВКА Элементы теории алгоритмов и структур данных ОЦЕНКА АЛГОРИТМОВ, РЕКУРСИЯ, СОРТИРОВКА Примечание Данный материал является вспомогательной презентацией и сам по себе не может рассматриваться как конспект

Подробнее

Кафедра «САПР транспортных конструкций и сооружений»

Кафедра «САПР транспортных конструкций и сооружений» МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ (МИИТ) Кафедра «САПР транспортных конструкций и сооружений» В. Ю. СМИРНОВ О. В. СМИРНОВА СТРУКТУРЫ ДАННЫХ Методические указания к лабораторным работам

Подробнее

TALLINNA TEHNIKAÜLIKOOL Virumaa Kolledž. Microsoft Excel Работа со списками данных

TALLINNA TEHNIKAÜLIKOOL Virumaa Kolledž. Microsoft Excel Работа со списками данных TALLINNA TEHNIKAÜLIKOOL Virumaa Kolledž Microsoft Excel Работа со списками данных Kohtla-Järve 2015 Некоторые приемы работы Как быстро передвигаться по таблице? Комбинации клавиш Ctrl+End переход к последней

Подробнее

F = f g. h

F = f g. h Кафедра информационных систем и технологий http://edu.msiu.ru Выпуклая оболочка часть 1 Е.А. Роганов roganov@msiu.ru 6 декабря 2013 Более подробное изложение этого материала содержится во втором параграфе

Подробнее

Лекция 8. Введение в STL. Контейнеры, последовательности, векторы

Лекция 8. Введение в STL. Контейнеры, последовательности, векторы Название Определения STL Структура STL Лекция 8. Введение в STL., последовательности, векторы Объектно-ориентированное программирование на C ++ 1 октября 2010 г. Лекция 8 1 / 33 Основные определения Название

Подробнее