Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zapitannya_do_Informatiki.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
141.69 Кб
Скачать
  1. Динамічні структури типу стек.

Стек є спільною структурою даних для представлення даних, які повинні оброблятися в певному порядку. Наприклад, коли функція викликає іншу функцію, яка, в свою чергу, викликає третю функцію, важливо, щоб третя функція повернулася на другу функцію, а не на першу. Стек складається з вузлів, який має структуру: Nod : Pointer

Data

Один із способів реалізації такого порядку обробки даних - це організувати свого роду чергу викликів функцій. Остання додана в стек функція, буде завершена першою і навпаки, перша додана в стек функція буде завершена останньою. Таким чином, сама структура даних забезпечує належний порядок викликів.

Cтруктура даних - стек дуже проста: вона дозволяє додавати або видаляти елементи в певному порядку. Кожен раз, коли додається елемент, він потрапляє на вершину стека, єдиний елемент, який може бути видалений з стека - елемент, який знаходиться на вершині стека. Таким чином, стек, як прийнято говорити, «першим прийшов, останнім пішов - FILO» або «останнім прийшов, першим пішов - LIFO». Перший елемент, доданий в стек буде видалений з нього в останню чергу.

Стеки мають деякі асоційовані методи:

Push - додати елемент в стек;

Pop - видалити елемент з стека;

Peek - переглянути елементи стека;

Size – Визначає кількість елементів;

LIFO - поведінка стека.

  1. Динамічні структури типу черга.

Черга - структура даних, яка, як і стек, має обмеження, по додаванню і видаленню елементів. Щоб зрозуміти черги, уявіть чергу в магазин: людина на початку черги (той, хто прийшов першим) буде обслуговуватися першим, знову прийшли люди будуть додаватися в кінець черги. Таким чином, перша людина у черзі обслуговується першою, остання в черзі, обслуговується останньою. Скорочено черги позначаються як: FIFO - First In, First Out (першим прийшов, першим пішов).

Черги часто використовуються в програмуванні мереж, операційних систем та інших ситуаціях, в яких різні процеси повинні розділяти ресурси, такі як процесорний час.

enqueue - додавання елемента в чергу;

dequeue - видалення елемента з черги.

Є кілька основних способів реалізації черги. По-перше, просто створити масив і перекласти всі елементи, щоб помістити елемент у чергу або витягти його. Цей випадок є дуже повільним.

Є ще один метод, при якому не зміщуючи елементи в черзі, виконуються функції постановки і видалення елементів з черги. Уявіть собі, знову, черга в магазин. Уявімо, що не черга рухається до продавця, а продавець рухається до черги, таким чином позиція початку черги постійно змінюється, рухається до кінця черги. Таким чином люди, які стоять у черзі не роблять крок вперед або назад, що заощаджує час.

  1. Динамічні структури типу однонаправлений список.

Розглянуті рядки символів, зображені у вигляді ланцюгів, тобто як динамічна структура, є частковим випадком такої структури - лінійного однонапрямленого списку. Різниця полягає в тому, що коли для рядків інформаційними елементами можуть бути тільки значення типу char, то в загальному випадку списків елементами можуть бути значення довільного типу - як прості, так і складені. Однак з метою уніфікації під час опрацювання списку вважатимемо, що всі елементи є значеннями одного типу.

Поле INF - інформаційне поле, дані, NEXT - покажчик на наступний елемент списку. Кожен список повинен мати особливий елемент, званий покажчиком початку списку або головою списку, який зазвичай по формату відмінний від решти елементів. У полі покажчика останнього елементу списку знаходиться спеціальна ознака null, що свідчить про кінець списку.

Рис.1.1. Структура однонаправленого списку

Проте, обробка однонаправленого списку не завжди зручна, оскільки відсутня можливість просування в протилежну сторону.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]