Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на экзамен по 'Структурам данных'.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
47.66 Кб
Скачать
  1. Определение данных, информации, групп типов данных

Данные - поддающееся многократной интерпретации представление информации в формализованном виде, пригодном для передачи, связи или обработки

Информация - знания о предметах, фактах, идеях и т. д., которыми могут обмениваться люди в рамках конкретного контекста

  1. Связное представление данных, достоинство, недостатки

Динамические структуры по определению характеризуются отсутствием физической смежности элементов структуры в памяти непостоянством и непредсказуемостью размера (числа элементов) структуры в процессе ее обработки.

Достоинства:

  • размер структуры ограничивается только доступным объемом машинной памяти;

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

Недостатки:

  • работа с указателями требует, как правило, более высокой квалификации от программиста;

  • на поля связок расходуется дополнительная память;

  • доступ к элементам связной структуры может быть менее эффективным по времени.

  1. Основные функции над списками

  2. Определение структур данных, стека, вектора данных, массива

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: