Основные операции над структурами данных
К основным операциям надструктурами данных относятся следующие операции:
- формирование;
- просмотр;
- вставка (включение);
- добавление (дополнение);
- извлечение;
- удаление (исключение);
- сдвиг;
- изменение содержимого элемента;
- сортировка.
Большинство из перечисленных операций связано с корректировкой (updating) структуры данных. Под корректировкой структуры данных понимают алгоритм, применение которого позволяет изменить содержимое отдельных элементов структуры, либо сами структуры (количество элементов, характер отношений между элементами). Рассмотрим эти операции.
Формирование - этосоздание в памяти компьютера структурыданных, соответствующей ее логическому представлению.При этом различаютфазы:
1) первоначальноеформирование(generation), когда создаются ячейки памяти для элементов структуры и отношений, и значения данных размещаютсяв порядкеихпоступленияизвне в этих ячейках, и
2) перегруппирования (regrouping), например, создания древовидной структуры из записей, хранящихся в некоторой таблице; на этапе перегруппирования может быть применена сортировка.
Просмотр(scan, pass)- последовательное выполнениенад элементами структурыодной и той же операции, например, сравнение их содержимого с некоторым заданным значением. Просмотр может выполняться с целью контроля содержимого элементов или для подсчета их числа.
Вставка(insertion) - это ввод нового данного в структуру данных. При вставке указываются элементы, между которыми в логической структуре расположится новый элемент; эти элементы определяют точку вставки. Хотя на расположение точки вставки могут быть наложены ограничения (например, включение в очередь возможно только со стороны «хвоста»), обычно, употребляя термин «вставка», подразумевают возможность включения нового элемента в любое место исходной структуры. При вставке в массивах выполняется сдвиг некоторого количества элементов, чтобы освободить место для вставляемого элемента. Вставка в динамические структуры такого сдвига не требует: просто изменяются адреса связей без физического перемещения данных в памяти.
Под добавлением(store) понимают вставку нового элемента в логический конец корректируемой структуры. В сущности, формирование структуры - это последовательность добавлений элементов данных.
Извлечение(extraction) выполняется с целью передачи содержимого элемента структурыдля дальнейшего использования, например,для печати этого содержимого.
Удаление(deletion)- это исключение некоторого элемента из структуры данных. При удалении в массивах удаляемый элемент либо помечают как удаленный (такое удаление без физическогоуничтожения называетсялогическимудалением-logicaldeletion), либо осуществляют сдвиг некоторого количества элементов, при котором в ячейку с адресом удаляемого элемента заносится значение соседнего сдвигаемогоэлемента. В динамических структурах просто изменяютсяадреса связей без физического перемещения данных, а ячейка, в которой размещался удаляемый элемент, включается в список свободных ячеек, доступных для вставки.
Сдвиг(shift)- это перемещение некоторых элементов данных в одном из направлений: либо от логического начала структуры к ее логическому концу, либо наоборот. При сдвиге сохраняется порядок следования сдвигаемых элементов.
Подизменениемсодержимого (data modification)элемента данных обычно понимают присваивание этому элементу нового значения.
Сортировка(sorting)- это распределение элементов некоторого множества с целью их расположения в соответствии с некоторыми правилами. Разновидностью сортировки является упорядочение данных по возрастанию или убыванию значений некоторого признака или ключа сортировки. Часто сортировка выполняется как переупорядочение(reordering) ранее упорядоченной последовательности по другому признаку (полю). Сортировка массивов предполагает, что перестановки, приводящие элементы в порядок, должны выполняться «на том же месте». Сортировка динамической структуры предполагает изменение адресов связей.
На практике перечисленные выше операции часто применяются в различных комбинациях. Например, просмотр часто имеет целью поиск некоторого элемента или нескольких элементов структуры, а поиск может завершаться удалением найденного элемента или вставкой нового элемента на место найденного или на новое место.
Дата добавления: 2015-08-21; просмотров: 1571;