Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
final.docx
Скачиваний:
10
Добавлен:
14.07.2019
Размер:
71.28 Кб
Скачать

ПИТАННЯ

модуля 1

  1. Дайте визначення структури даних і наведіть класифікацію, приклади.

Дайте визначення структури даних і наведіть класифікацію, приклади.

Структура даних – це спосіб організації даних в комп’ютері. Розрізняють лінійні(список) та нелінійні (дерево хеш- таблиці) структури даних.

Дані - це просто значення або набори значень. Вони описують будь-яку інформацію, яку можна обробити на ПК. Дані характеризуються ліг-ністю ознак, або атрибутів, в тому числі своїм значенням, сенс якого раз-лічен для різних даних.

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

Дані можуть бути організовані багатьма різними способами; логічна або математична модель організації даних називається структурою даних. Вибір структури даних залежить від двох обставин. По-перше, структура повинна відображати фактичні зв'язку даних у реальному світі. З іншого боку, структура має бути достатньо проста, щоб можна було обробляти дані коли необхідно.

Розглянемо класифікацію структур даних, які будуть обговорені під-робно в даному курсі. Всю сукупність даних можна розділити на дві великі групи: дані статичної структури і дані динамічної структури.

Дані статичної структури характеризуються тим, що взаємне розташування-ження і взаємозв'язок елементів структури завжди залишаються постійними. Дані статичної структури можуть бути простими (скалярними) та складовими, які формуються з простих структур за будь-яким законом. Класифікація даних статичної структури наведена на рис. 1.1

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

  1. Дайте визначення такої структури даних як «дерево», наведіть його класифікацію, приклади і способи переміщення по дереву.

Дерево – це набір елементів (вузлів) кожен з яких має посилання на сукупність інших елементів (вузлів) зв’язаних з ними деякими вимогами.

Типи дерев :

  1. Вільне дерево – неупорядковані дерева з багатьма зв’язуваннями

  2. Дерево з корнем – певний вузол дерева наз. корнем і і він не має інших вузлів над собою

  3. Упорядковане дерево – кожен вузол має похідну кількість посилань

  4. Бінарне дерево – кожен вузол зв’язаний тільки з парою дерев , які називаються праве та ліве.

В інформатиці дерево - одна з найбільш широко поширених структур даних, що емулює деревовидну структуру у вигляді набору пов'язаних вузлів. Є пов'язаною графом, що не містить цикли. Більшість джерел також додають умова на те, що ребра графа не повинні бути орієнтованими. На додаток до цих трьох обмежень, в деяких джерелах вказуються, що ребра графа не повинні бути зваженими.

Вузол є екземпляром одного з двох типів елементів графа, відповідним об'єкту деякої фіксованої природи. Вузол може містити значення, стан або подання окремої інформаційної структури або самого дерева. Кожен вузол дерева має нуль або більше вузлів-нащадків, які розташовуються нижче по дереву (за угодою, дерева 'ростуть' вниз, а не вгору, як це відбувається з справжніми деревами). Вузол, що має нащадка, називається вузлом-батьком щодо свого нащадка (або вузлом-попередником, або старшим). Кожен вузол має не більше одного предка. Висота вузла - це максимальна довжина спадного шляху від цього вузла до самого нижнього вузла (крайовому вузла), що зветься листом. Висота кореневого вузла дорівнює висоті всього дерева. Глибина вкладеності вузла дорівнює довжині шляху до кореневого вузла (тобто його кореневого шляху).

Кореневі вузли

Самий верхній вузол дерева називається кореневим вузлом. 'Бути самим верхнім вузлом' має на увазі відсутність у кореневого вузла предків. Це вузол, на якому починається виконання більшості операцій над деревом (хоча деякі алгоритми починають виконання з "листів" і виконуються, поки не досягнуть кореня). Всі інші вузли можуть бути досягнуті шляхом переходу від кореневого вузла по ребрах (або посиланнями). (Згідно з формального визначення, кожен подібний шлях повинен бути унікальним). У діаграмах він зазвичай зображається на самій вершині. У деяких деревах, наприклад, купах, кореневої вузол має особливі властивості. Кожен вузол дерева можна розглядати як кореневої вузол піддерева, "зростаючого" з цього вузла.

Листові вузли

Вузли самого нижнього рівня дерева називаються листовими вузлами або листям. Так як вони знаходяться на самому нижньому рівні, вони не мають жодних нащадків.

Внутрішні вузли

Внутрішній вузол - будь-який вузол дерева, що має нащадків, і таким чином не є листовим вузлом.

Піддерево - частина деревообразной структури даних, яка може бути представлено у вигляді окремого дерева. Будь-який вузол дерева T разом з усіма його вузлами-нащадками є піддерево дерева T. Для будь-якого вузла піддерева або повинен бути шлях в кореневий вузол цього піддерева, або сам вузол повинен бути кореневим. Тобто піддерево пов'язано з кореневим вузлом цілим деревом, а відносини піддерева з усіма іншими вузлами визначаються через поняття відповідне піддерево (за аналогією з терміном "відповідне підмножина").

Упорядкування дерев

Існує два основних типи дерев. У рекурсивної дереві чи неврегульованому дереві має значення лише структура самого дерева без урахування порядку нащадків для кожного вузла. Дерево, в якому заданий порядок (наприклад, кожному ребру, що веде до нащадку, присвоєні різні натуральні числа) називається деревом з іменованими ребрами або впорядкованим деревом зі структурою даних, визначеної перед іменуванням і званої структурою даних впорядкованого дерева.

Впорядковані дерева є найбільш поширеними серед деревоподібних структур. Бінарне дерево пошуку - одне з різновидів впорядкованого дерева.

Типи дерев:

1) Вільне дерево (невпорядкована дерево зі множественннимі зв'язками)

2) Дерево з корінням (один вузол зв. Коренем і не має інших вузлів над собою)

3) Бінарне дерево (кожен вузол пов'язаний лише з парою дерев, з. Лівим і прравим)

4) Впорядковане дерево (кожен вузол має довільну кількість посилань)

Представлення дерев

Існує безліч різних способів представлення дерев. Найбільш загальний спосіб подання зображує вузли як записи, розташовані в динамічно виділюваної пам'яті з дороговказами на своїх нащадків, предків (або і тих і інших), або як елементи масиву, пов'язані між собою відносинами, визначеними їхніми позиціями в масиві (наприклад, двійкова купа) .

Методи обходу

Основна стаття: Обхід дерева

Покроковий перебір елементів дерева по зв'язкам між предками-вузлами та нащадками-вузлами називається обходом дерева, а сам процес називається обходом по дереву. Найчастіше, операція може бути виконана переходом покажчика по окремих вузлах. Обхід, за якого кожен вузол-предок проглядається раніше його нащадків називається предупорядоченним обходом або обходом в прямому порядку (pre-order walk), а коли проглядаються спочатку нащадки, а потім предки, то обхід називається обходом поступорядоченним або обходом у зворотному порядку (post- order walk). Існує також симетричний обхід, при якому відвідується спочатку ліве піддерево, потім вузол, потім - праве піддерево, і обхід в ширину, при якому вузли відвідуються рівень за рівнем (N-й рівень дерева - безліч вузлів з висотою N). Кожен рівень обходиться зліва направо.

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