рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Связанное представление данных в памяти ЭВМ

Связанное представление данных в памяти ЭВМ - раздел Философия, Обычно понятия данные и информация считают синонимичными. Необходимо, однако, помнить, что эти понятия имеют разный смысл Обычно В Аис Данные Часто Обновляются, Корректируются И При Использовании Пос...

Обычно в АИС данные часто обновляются, корректируются и при использовании последовательного представления много машинного времени тратится на перезапись данных в процессе уплотнения списка. Для ряда задач последовательное представление данных является вообще неприемлемым. В таких случаях используют связанное представление данных.

При связанном представлении в каждой записи предусматривается дополнительное поле, в которое помещается указатель (ссылка). Физический порядок следования записей в этом случае может не соответствовать логическому порядку. В памяти ЭВМ записи располагаются в любых свободных ячейках и связываются между собой указателями так, чтобы поддерживался нужный логический порядок. Указатель записи указывает на ячейку памяти, в которой хранится следующая запись. В качестве указателя обычно используется адрес ячейки.

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

Пусть, в соответствии с решаемой задачей, записи должны иметь следующий логический порядок: Зап. A, Зап. B, Зап. C, Зап. F. В этом порядке они должны читаться и обрабатываться программой. При размещении в памяти Зап. A заняла ячейку 01, Зап. B – ячейку 05, Зап. C- ячейку 03, а Зап. F – ячейку 10. Для того, чтобы обеспечить необходимый логический порядок следования записей в поле указателя каждой записи необходимо поместить адрес ячейки с логически следующей записи. Указатель обозначим АС.

 

 

Одна из ячеек, называемая головной, содержит указатель на ячейку с первой записью списка. В соответствии с этим указателем при обработке списка первым будет прочитано содержимое ячейки с адресом 01 , т.е. Зап.А. Затем прочитается содержимое ячеек 05 (Зап. В), 03 (Зап. С) и 10 (Зап. F). Символ Q, помещенный в поле указателя последней записи списка, означает конец списка. В качестве указателя конца списка может быть использован любой элемент данных, который программой чтения не воспринимается как указатель.

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

Указатели изменяются таким образом, чтобы сохранялся логический порядок следования записей.

При выполнении операции удаления исключаемая запись удаляется из списка со всеми своими полями, в том числе и с полем указателя. При этом цепочка указателей разрушается, и доступ к следующим записям списка становится невозможным. Указатель записи, логически предшествующей исключаемой, называется висящим, т.к. он указывает на несуществующую запись и цепочка записей на нем обрывается. Для того, чтобы список не разрушался, перед удалением записи следует произвести замену указателей. При этом значение указателя исключаемой записи заносится в поле указателя логически предшествующей записи.

 

Исключим из списка Зап.С, хранящуюся в ячейке с адресом 03 и имеющую адрес связи 10. Для этого значение указателя предшествующей записи (Зап.В) изменим на АС 10. Теперь доступ к Зап.С стал невозможен и эта запись оказалась исключенной из списка. Освободившаяся ячейка может быть использована для включения новой записи.

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

 

 

Включим в список Зап. D, логически следующую за записью С. Зап. D разместим в ячейке с адресом 15. После замены указателей установится следующий порядок чтения ячеей памяти 01, 05, 03, 15, 10, а список будет обрабатываться так: Зап.А, Зап. В, Зап. С, Зап. D, Зап. F.

Односвязный список можно организовать в виде замкнутого кольца.

 

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

Связанное представление данных используется для хранения нелинейных структур данных, а также для хранения данных в тех случаях, когда:

- заранее неизвестен предельный объем информационного массива;

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

Следует, однако, помнить, что связанное представление приводит к дополнительному расходу памяти из-за появления в записи дополнительного поля – поля указателя.

В некоторых задачах необходимо иметь возможность продвижения по списку в обоих направлениях. Для этого в каждый элемент списка вводится дополнительный указатель, задающий продвижение по списку в обратном направлении. Такой список называется двунаправленным. В поле обратного указателя заносится адрес ячейки с логически предшествующей записью. Головная ячейка в этом случае должна содержать указатели на первую и последнюю ячейки списка. Обработку двунаправленного списка можно начинать как с начала, так и с конца списка.

Для реализации связанного списка язык программирования должен располагать данными типа «указатель». Такой тип данных предусмотрен в языках ПЛ/1, СИ, Паскаль. В языке Паскаль с помощью особых типов данных - указателей можно осуществлять динамическое распределение памяти и создавать динамические структуры данных.

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

Пусть структура данных определена как массив М(I), где данные хранятся в следующем порядке: Зап. С, Зап. D, Зап.В, Зап. А. Таков физический порядок записей. Пусть необходимо обеспечить следующий порядок чтения или обработки записей: Зап. А, Зап.В, Зап. С, Зап. D, не совпадающий с физическим порядком их следования. Для решения этой задачи можно организовать вспомогательный вектор указателей N(J). Элементы вектора – целые числа – определяют порядковые номера (индексы) записей основного массива М(I). При обработке основного массива вначале читается элемент вспомогательного вектора N(J), а затем следует обращения к тому элементу основного массива, индекс которого хранится в этом элементе вектора, т.е. индекс обрабатываемого элемента основного массива I=N(J).

Вектор N(J), изображенный на рис. Задает следующий порядок чтения записей основного массива: Зап. А, Зап. В, Зап. С, Зап. D.

 

 

Можно использовать другой прием моделирования связанного списка без использования данных типа указатель. В массиве, моделирующем связанный список, для каждого элемента списка отводится два элемента массива. В первом элементе пары хранится запись списка, а во втором элементе – номер (индекс) того элемента массива, в котором хранится следующая запись списка.

 

 

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

 

– Конец работы –

Эта тема принадлежит разделу:

Обычно понятия данные и информация считают синонимичными. Необходимо, однако, помнить, что эти понятия имеют разный смысл

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Связанное представление данных в памяти ЭВМ

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Организация памяти ЭВМ
  Архитектура машинной памяти Память ЭВМ – это совокупность различных ЗУ. Основными техническими характеристиками ЗУ являются емкость и быст

Адресация основной памяти
ОП ЭВМ можно представить в виде упорядоченной последовательности ячеек памяти. Ячейка памяти – это фиксированная совокупность запоминающих элементов, обращение к которым при записи или считы

Структуры данных
  Три уровня представления данных При разработке АИС различают три уровня представления данных: логический уровень, уровень хранения и физич

Логическая структура данных определена, если определены типы логических записей и установлены связи между ними.
От того, насколько правильно разработана логическая структура данных, зависит адекватность данных, т.е. их соответствие предметной области. На логическом уровне пре

При разработке структур хранения устанавливаются
-типы и форматы данных, -способ представления логических записей в памяти машины, т.е. определяются хранимые записи, -способ установления связей. На уровне хранения учиты

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

Последовательное представление данных в памяти ЭВМ
В памяти ЭВМ данные могут иметь последовательное представление или связанное представление. При последовательном пре

Ключа записи в ее адрес
Способы размещения данных в памяти, основанные на преобразовании ключа записи в ее адрес, обеспечивают прямой доступ к данным по значению ключа. Адрес хранения записи в этом случае определяется с п

Страница 02 переполнения
А N   Страница N ……..     В пр

Массивы
Массив – это линейная структура данных фиксированного размера с произвольным доступом по номеру элемента (по индексу). Обычно

Очередь
Очередь – линейная структура данных переменного размера с ограниченным доступом. Доступ к элементам очереди осуществляется по указателю началаочереди и указателюк

Основные принципы информационного поиска
При обработке информации в АИС наиболее часто выполняются операции поиска. В запросе на поиск задается аргумент поиска. В том случае, когда надо найти запись об объ

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги