![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
СД типа стекСтек – это последовательность, в которой включение и исключение элемента осуществляется с одной стороны последовательности (вершины стека). Так же осуществляется и операция доступа. Структура функционирует по принципу LIFO (последний пришедший обслуживается первым). Условные обозначения стека:
При реализации стека рассматриваются стек как отображение на массив и стек как отображение на список. Совокупность операций, определяющих структуру типа стек: 1. Операция инициализации. 2. Операция включения элемента в стек. 3. Операция исключения элемента из стека. 4. Операция проверки: стек пуст / стек не пуст. 5. Операция проверки: стек переполнен / стек не переполнен (данная операция характерна для стека как отображения на массив). 6. Операция чтения элемента (доступ к элементу). Все операции не зависят от размерности стека, т.е. порядок временной сложности – О(1). Имеется две модификации стека: 1. Указатель находится на вершине стека, показывая на первый пустой элемент. 2.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Стек в последовательной памяти (схема на физическом уровне):
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Применение стека: 1) Стек используется при преобразовании рекурсивных алгоритмов в нерекурсивные. В частности, с помощью стека можно модифицировать алгоритм сортировки Хоара. Алгоритм сортировки Хоара (стек используется для хранения границ сортируемой области в таблице): 1. Включить в стек начало и конец сортируемой таблицы. 2. Исключить из стека адрес конца сортируемой области (В). Если стек пуст, то сортировка окончена. 3. Исключить из стека адрес начала сортируемой области (А). 4. Выбираем ключ-разделитель в сортируемой области (при этом используем тот или иной алгоритм). 5. Размещаем меньшие ключи до разделителя, а большие – после него. Адрес разделителя – С. 6. Если А < (С-1), то записываем в стек адрес А и (С-1). 7. Если (С+1) < В, то записываем в стек начало (С+1) и конец сортируемой области В и переходим к п.2. 2) Стек используется при разработке компиляторов. Например, вычисление арифметических выражений. Имеем некоторое выражение: (А+В)*С. Это выражение в инфиксной записи. Необходимо перевести его в постфикс (польскую запись): А В + С *. С помощью стека выражение вычисляется за один проход. Пример: Имеем выражение (5 + 3) * 7 + 2 * 4. Преобразуем его к виду 5 3 + 7 * 2 4 * + < > - стек. Заносим в стек цифры и когда появляется операция, то выполняем ее над занесенными в стек элементами: < > ® < 5 > ® < 5 3 > ® < 8 > ® < 8 7 > ® … 3) Cтеки оказали влияние и на архитектуру ЭВМ, послужили основой для стековых машин. В такой ЭВМ аккумулятор выполнен в виде стека, позволяющего расширить спектр безадресных команд. 4) д, т.е. команд, не требующих явных заданий адресов операндов. Следствием использования стека является увеличение скорости обработки.
Дата добавления: 2014-01-07; Просмотров: 733; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |