Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AlgStr / Практические занятия / Линейные структуры / Практическая работа №4.doc
Скачиваний:
34
Добавлен:
23.03.2015
Размер:
237.06 Кб
Скачать

Практична робота № 4 Лінійні структури даних, їх подання і реалізація.

Лінійна структура даних (С.Д.) - це С.Д. сукупність елементів якої є лінійно впорядкованою. Лінейнимі С.Д. є :

1) Послідовність;

2) Еластична стрічка;

3) Лінійні списки:

а) стек;

б) дек;

в) черга;

г) пріоритетна черга;

4) Рядки.

Можна дати повніше визначення лінійній структурі даних. Це множина складається з n>=0 вузлів x1, x2, x3,.. xn структурні(топологічні) властивості якого по суті обмежуються лише лінійним (одновимірним) відносним положенням вузлів. Тобто якщо n>0, то x1 - перший вузол ; якщо 1<k<n, то xk-1, xk, xk+1 - порядок проходження вузлів, якщо к=n, то xn - останній вузол.

Приведемо операції, які можна виконувати над лінійними С.Д.:

  1. Створити;

CREATE - для динамічних структур;

INIT - для статичних структур;

  1. Отримати доступ до к-му елементу структури з метою дослідження або зміни цього елементу (селектор);

  2. Включити новий елемент безпосередньо перед заданим (після);

  3. Виключити вузол;

Якщо операції 3) і 4) існують, то структуру даних називатимемо динамічною;

  1. Об’єднати дві структури в одну (конкатенація рядків);

  2. Розбити структуру на дві;

  3. Створити копію структури даних;

  4. Визначити кількість елементів в структурі (операції спостерігач);

  5. Виконати сортування елементів структури даних в деякому порядку;

  6. Знайти вузол, що задовольняє заданій умові;

  7. Знищити структуру даних (деструкція) (done, Dtstroy).

Особливу роль грають операції 2 - 4. Саме за допомогою їх можна послідовно конструювати, змінювати і обробляти списки. Важливими представляються випадки коли к = 1 і к = n, тобто операції, що виконуються з першим і останнім елементами структури. Річ у тому, що в таких структурах доступу до першого і останнього елементу виконується значно простіше, ніж до інших елементів. Існують різні способи представлення лінійних С.Д. і залежно від конкретного набору операцій, то або інше подання буде ефективним. Мабуть не існує єдиного методу представлення таких структур, при якому всі ці операції реалізувалися б ефективно. Тому має сенс класифікувати типи лінійних структур по головних операціях, які зніми виконуються. Особливу групу представляють списки, в яких включення, виключення і доступ майже завжди проводиться в першому або останньому вузлах. Розглянемо ці часто використовувані С.Д:

1) Стек - лінійний список, в якому всі включення і виключення робляться в одному кінці списку;

2) Черга - лінійний список, в якому всі включення на одному кінці, а виключення на іншому;

3) Дек - черга з двома кінцями, включення та вилучення виконується на обох кінцях;

4) Архів - дек з обмеженим входом;

5)Реєстр - дек з обмеженим виходом.

У математиці всі ці структури називаються чергами з різними дисциплінами обслуговування. Найчастіше використовуються стек і черга.

Стек це є черга, що організована за принципом LIFO (Last-in-first-out), черга - за принципом FIFO (First-in-first-out). Черги в широкому розумінні слова, грають важливу роль в теорії масового обслуговування, яка визначає поведінку реальної системи методом моделювання на ЕОМ.

Стек.

  1. Інтуітивне поняття.

Операції:

  • поповнення стека; (PUSH)

  • перегляд верхнього елементу; (TOP)

  • знищення верхнього елементу; (POP)

  • перевірка стека на порожнечу; (IS_EMPTY)

Соседние файлы в папке Линейные структуры