
- •2.Классификация структур данных
- •3. Связные и несвязные структуры данных.
- •5.Тип «указатель» и ситуации его применения.
- •7. Статические структуры данных.
- •8. Назначение хеширования данных.
- •11. Понятие динамических структур данных. Возможности, предоставляемые использованием динамических структур данных.
- •13.Абстрактный тип данных «очередь». Реализация очереди с помощью указателей. Привести рисунок и определить абстрактный тип «очередь».
- •14. Абстрактный тип данных «стек». Реализация стека с помощью указателей. Привести пример.
- •16. Особенности и определение рекурсивного вычислительного процесса. Привести пример использования рекурсии и стека.
- •17.Постфиксная, префиксная, инфиксная записи представления выражений и их особенности
- •18. Правило вычисления выражения в обратной польской записи.
11. Понятие динамических структур данных. Возможности, предоставляемые использованием динамических структур данных.
Память под динам. величины отводится во время выполнения программы. Раздел памяти, распределяемый динамически – динамическая память.
Преимущества:
1)Увеличение объёма обрабатываемых данных.
2)Если нет надобности в переменных, то память можно освободить.
3)Возможность создавать структуры переменного размера.
Работа с динамикой замедляет работу программы, т. к. доступ происходит в 2 шага: поиск указателя и поиск величины.
Работа с динам. величинами связана с использованием типа данных – ссылочного типа. Величины, имеющие ссыл. тип – указатели. Указатель содержит адрес поля в дин. памяти, а сам располагается в статической.
12.Абстрактный тип данных «список». Реализация списков с помощью указателей. Привести рисунок и определить структуру связанного списка.
Способ организации данных связыванием элементов в цепочку. Списки очень гибки.Указатели позволяют связать элементы списка. Такая реализация освобождает от использ. непрер. области памяти и необходимости перемещения эл-тов при вставке и удалении.Цена этого – доп. память для указателей.Если список состоит из эл-тов a[1],a[2],..,a[n], то
для a[i] имеется указатель на ячейку a[i+1].
Описание:type
list=^celltype;
celltype = record
element:elementtype;
next:celltype;
end;
position=^celltype;
procedure insert(x:elementtype;p:position);
var
temp:position;
begin
temp:=p^.next;
new(p^.next);
p^.next^.element:=x;
p^.next^.next:=temp;
end;
procedure delete(p:position);
begin
p^.next:=p^.next^.next;
end;
13.Абстрактный тип данных «очередь». Реализация очереди с помощью указателей. Привести рисунок и определить абстрактный тип «очередь».
Специальный тип списка(FIFO). Эл-ты вставляются с одного конца – «хвоста», а удаляются с «головы».Вместо перемещения по списку от начала в конец эффективнее хранить указатель на последний элемент
Описание:type
celltype=record
element:elementtype;
next:^celltype;
end;
queue = record
front,rear:^celltype;
end;
procedure makenull(var q:queue);
begin
new(q.front);
q.front^.next:=nil;
q.rear:=q.front;
end;
procedure dequeue(var q:queue);
begin
if q.front=q.rear then
Writeln(‘Очередь пуста’)
else
q.front:=q.front^.next;
end;
procedure enqueue(x:elementtype;var q:queue);
begin
new(q.rear^.next);
q.rear:=q.rear^.next;
q.rear^.element:=x;
q.rear^.next:=nil;
end;