Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sistema_BD (1).docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
66.84 Кб
Скачать

Форма представления структур данных в памяти.

Форма представления структур данных в памяти зависит от предполагаемого использования данных. Основное различие форм представления данных в памяти определяется, в первую очередь, тем, как адресуются элементы данных в памяти машины (по месту или по содержимому). Если используется адресация по месту, то указываются логические и физические адреса. Если по содержимому, то используется значение ключа. Наиболее простой формой хранения является одномерный линейный список. Это множество объектов, структурные свойства которого связанны только с линейным относительным расположением узлов, компоненты которой идентифицированы порядковым номером, указывающих их относительное положение в последовательности.

В случае линейного списка адресная функция состоит из операций смещения и масштабирования. Адресная функция это отображение логической структуры данных на физическую структуру хранения.

При реализации линейного списка возможны 2 основных метода распределения памяти это последовательная и связанная. При последовательном распределении памяти узлы списка размещаются в последовательных элементах памяти.

Альфа – адрес

Бета – адрес базы данных.

Связанное распределение (список). При этом распределении памяти для построения структуры необходимо задать отношения следования и предшествования элементов с помощью указателей.

У1 |

У2 |

У3 |

У1 |

У2 |

У3 |

У4 |

У3 |

У

У1 | |

У2 | |

У3 | |

казателями служат адреса, хранимые в записях данных. Значение адресной функции можно получить просмотром хранящихся указателей.

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

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

Голова списка

У4 |

У4 |

У4 |

У4 | |

У4 | |

У4 | |

Узлы списка.

Д вунаправленный список.

Базируясь на использовании связанных линейных списков можно реализовывать в памяти сложные нелинейные структуры. Например, древовидные или сетевые. Для этого необходимо иметь достаточное количество указателей. При работе используют 3 типа указателей.

  1. Действительный (машинный) – используют когда необходимо получить наибольшую скорость обработки данных. Серьезный недостаток – жесткая привязка записей к конкретному месту расположения в памяти.

  2. Символический. Позволяет перемещать отдельные записи относительно друг друга. Или включать и удалять записи без изменения указателей во всех остальных записях. Данный тип указателей рекомендуют использовать для интенсивно изменяющихся файлов.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]