Студопедия

КАТЕГОРИИ:


Архитектура-(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.

слот
Указатель указывает на первый заполненный элемент.

 

 

Стек в последовательной памяти (схема на физическом уровне):

 

S
Дескриптор:

Условные обозначения Название стека
Нижний адрес стека
Верхний адрес стека
Адрес указателя
Описание элемента

 

Применение стека:

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; Просмотров: 692; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.