Интернет магазин китайских планшетных компьютеров



Компьютеры - LIFO (информатика) - Применение

24 февраля 2011


Оглавление:
1. LIFO (информатика)
2. Применение



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

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

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

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



Просмотров: 2160


<<< FIFO (информатика)
Mmap >>>