- •Списки, понятие однонаправленного списка, двунапрвленного списка, реализация списка, кольцевой сп.
- •Определение структуры данных, отличие динамических и статистических, реализация атд
- •Определение атд, связной структуры данных, структурированного типа данных, массива.
- •Определение данных, информации, групп типов данных
- •Связное представление данных, достоинство, недостатки
- •Основные функции над списками
- •35. Реализация списков с помощью указателей
- •36. Основные функции над списками
- •37. Определение стека, массива, множества, структуры данных
- •38. Понятие методов сортировки массивов, привести методы нескольких сортировок
- •41. Понятие массивов, дескриптора массивов, свободный массив(его достоинства и недостатки)
- •43. Определение дека, множества, очереди с приоритетом, информации
- •43. Определение дека, множества, очереди с приоритетом, информации
- •44. Факторы влияющие на выбор алгоритма сортировки массива
- •47. Стратегии сортировки массивов
- •51. Применение стеков
- •52. Определение данных, структуры данных, список данных, указатели
Определение данных, информации, групп типов данных
Данные - поддающееся многократной интерпретации представление информации в формализованном виде, пригодном для передачи, связи или обработки
Информация - знания о предметах, фактах, идеях и т. д., которыми могут обмениваться люди в рамках конкретного контекста
Связное представление данных, достоинство, недостатки
Динамические структуры по определению характеризуются отсутствием физической смежности элементов структуры в памяти непостоянством и непредсказуемостью размера (числа элементов) структуры в процессе ее обработки.
Достоинства:
размер структуры ограничивается только доступным объемом машинной памяти;
при изменении логической последовательности элементов структуры требуется не перемещение данных в памяти, а только коррекция указателей.
Недостатки:
работа с указателями требует, как правило, более высокой квалификации от программиста;
на поля связок расходуется дополнительная память;
доступ к элементам связной структуры может быть менее эффективным по времени.
Основные функции над списками
Определение структур данных, стека, вектора данных, массива
34. Определение структуры данных, отличие динамических и статических структур, объекты, указатели, файлы
Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс.
Статическими величинами называются такие, память под которые выделяется во время компиляции и сохраняется в течение всей работы программы.
В языках программирования (Pascal, C, др.) существует и другой способ выделения памяти под данные, который называется динамическим. В этом случае память под величины отводится во время выполнения программы. Такие величины будем называть динамическими. Раздел оперативной памяти, распределяемый статически, называется статической памятью; динамически распределяемый раздел памяти называется динамической памятью (динамически распределяемой памятью).
Указатель содержит адрес поля в динамической памяти, хранящего величину определенного типа. Сам указатель располагается в статической памяти.
Структурированная переменная – это объект
Файл - Специально организованная структура данных, распознаваемая компьютером как единое целое.
35. Реализация списков с помощью указателей
Реализация списков с помощью массивов требует указания максимального размера списка до начала выполнения программ. Если мы не можем заранее ограничить сверху длину обрабатываемых списков, то, очевидно, более рациональным выбором будет реализация списков с помощью указателей. Переменная типа «указатель» определяет адрес динамической переменной. Для описания указателей в программах на Objet Pascal используется следующая конструкция:
Type mas=array[1..10] of integer; Var pi:^integer; pr:^real; pm:^mas;
36. Основные функции над списками
В число этих операций, помимо последовательного перехода от элемента к элементу, входят включение нового элемента в список и исключение элемента из списка. Включение и исключение элементов могут производиться в любом месте спискаПереход от одного элемента, к другому производится с помощью несложной операции. Пусть имеется ссылочная переменная, указывающая на некоторый элемент списка целых чисел. Если этой переменной присвоить след;
то значением этой переменной уже будет ссылка на следующий элемент списка (или nil, если этот элемент последний). Таким образом можно просматривать любую часть списка.
Итак, операции включения и исключения сводятся к изменению значений ссылочной части задействованных элементов. Но для работы с началом списка эти методы не подходят, поскольку у первого элемента нет предшествующего.
Для включения нового элемента в начало списка нужно в ссылочную часть его записать значение начальной ссылки, а в начальную ссылку s записать значение, соответствующее ссылке на новый элемент: new (/); t f . дан: = 20; t f . след: = s; s: = /; Для исключения первого элемента из списка с сохранением его доступности нужно начальной ссылке присвоить значение ссылочной части удаляемого элемента, а в ссылочную часть записать nil:
