- •Структурирование алгоритмов .
- •Структурирование данных
- •Инкапсуляция
- •Концепция структур данных.
- •Классификация структур данных.
- •Базовые операции над структурами данных.
- •Данные арфметического типа.
- •Перечисляемый тип данных.
- •Свойства статических структур данных.
- •Розріджений масив
- •Множество как структура данных.
- •Структурный тип данных.
- •Объединение как структура данных.
- •Битовый тип данных
- •Особливості напівстатичних структур даних.
- •Стек як структура даних.
- •Черга як структура даних.
- •Дек як структура даних.
- •Лінійні списки.
- •Однонаправлений лінійний список.
- •Двонаправлений лінійний список.
- •Основні поняття мультисписків.
- •Стрічка як структура даних.
- •Зв’язне представлення даних.
- •Представлення графа як структури даних.
- •Дерево як структура даних.
- •Алгоритм перетворення дерева в бінарне.
- •Представлення дерев у пам’яті.
- •Операції над деревами.
- •Алгоритми обходу дерева.
- •Принципи формалізації алгоритмів.
- •Покрокове проектування алгоритмів.
- •Основні характеристики алгоритмів.
- •36.Поняття складності алгоритму.
- •37.Ефективність алгоритмів.
- •Правила аналізу складності алгоритмів.
- •Постановка задачі сортування.
- •Класифікація алгоритмів сортування.
- •41.Сортування вибіркою.
- •42.Сортування включенням.
- •Сортування розподілом.
- •Сортування злиттям.
- •Принципи рандомізації.
- •Постановка задачі пошуку.
- •60. Евристичні алгоритми.
Базовые операции над структурами данных.
Над всеми структурами данных могут выполняться пять операций: создание, уничтожение, выбор (доступ), обновление, копирование.
-Операция создания заключается в выделении памяти для структуры данных. Память может выделяться в процессе выполнения программы при первом появлении имени переменной в исходной программе или на этапе компиляции. В ряде языков (например, в С) для структурированных данных, конструируемых программистом, операция создания включает в себя также установку начальных значений параметров, создаваемой структуры.
-Операция уничтожения структур данных противоположна по своему действию операции создания. Не все языки дают возможность программисту уничтожать созданные структуры данных. Операция уничтожения помогает эффективно использовать оперативную память.
-Операция выбора используется программистами для доступа к данным внутри самой структуры. Форма операции доступа зависит от типа структуры данных, к которой осуществляется обращение. При выполнении операций выбора используются указатели. В широком смысле слова указатель — это переменная, определяющая место конкретной информации в структуре данных, например, переменная, содержащая значение индекса статического массива. В узком смысле слова указатель указывает на физический адрес чего-то. В последнем случае указатель — это переменная, которая является носителем адреса другой простой или структурированной переменной, а также процедуры. Идея, лежащая в основе концепции указателей, состоит в том, чтобы для достижения контроля правильности использования указателей связать определенный тип данных с конкретным указателем.
-Операция обновления позволяет изменить значения данных в структуре данных. Примером операции обновления является операция присваивания или более сложная форма — передача параметров.
-Операция копирования создает копию данных в новом месте памяти.
Данные арфметического типа.
Арифметические данные характеризуются основанием системы счисления, способом представления и длиной. Допускается обработка данных в десятичной и двоичной системах счисления. В памяти их значения могут храниться в форме с фиксированной или плавающей точкой. Они могут представляться как переменные и константы. Элемент арифметических данных имеет числовое значение, характеризуемое основанием системы счисления, способом представления, классом и разрядностью.
Перечисляемый тип данных.
Перечисляемый тип (сокращённо перечисле́ние, англ. enumeration, enumerated type) — в программировании тип данных, чьё множество значений представляет собой ограниченный список идентификаторов. Перечисляемые типы определяют упорядоченные наборы значений, перечисляя идентификаторы, которые обозначают эти значения. Их порядок следует из последовательности, в которой они были перечислены. Идентификатор типа и набор допустимых значений для перечисляемого типа определяются программистом. Для этого используется специальный оператор Type.
Свойства статических структур данных.
Статические структуры представляют собой структурированное множество примитивных, базовых, структур. Поскольку по определению статические структуры отличаются отсутствием изменчивости, память для них выделяется один раз и ее объем остается неизменным до уничтожения структуры. Простейшая статическая структура данных - массив, где обращение к элементу происходит через его номер. Статические структуры в языках программирования связаны со структурированными типами. Структурированные типы в языках программирования являются теми средствами интеграции, которые позволяют строить структуры данных сколь угодно большой сложности. К таким типам относятся: массивы, записи (в некоторых языках - структуры) и множества (этот тип реализован не во всех языках).
Массив
Массив (в некоторых языках программирования также таблица, ряд, матрица) — тип или структура данных в виде набора компонентов (элементов массива), расположенных в памяти непосредственно друг за другом. При этом доступ к отдельным элементам массива осуществляется с помощью индексации, то есть ссылки на массив с указанием номера (индекса) нужного элемента. За счёт этого, в отличие от списка, массив является структурой с произвольным доступом.
Размерность массива — это количество индексов, необходимое для однозначного доступа к элементу массива. Форма или структура массива — количество размерностей плюс размер (протяжённость) массива для каждой размерности; может быть представлена одномерным массивом.Количество используемых индексов массива может быть различным. Массивы с одним индексом называют одномерными, с двумя — двумерными и т. д. Одномерный массив (колонка, столбец) нестрого соответствует вектору в математике, двумерный — матрице. Чаще всего применяются массивы с одним или двумя индексами, реже — с тремя, ещё большее количество индексов встречается крайне редко.
