рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Застосування лінійних списків

Застосування лінійних списків - раздел Образование, Графи P Лінійні Списки Знаходять Широке Застосування В Додатках, Де Непередбачені ...

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

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

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

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

– учасників бойових дій;

– людей з вищою освітою;

– матерів, що мають більше трьох дітей і т.і.

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

 

 

Рис. 7.1. Структура мультисписку

Мультисписки мають такі переваги:

– забезпечують економію пам'яті оскільки при багатьох списках інформаційна частина в пам’яті існує в єдиному екземплярі (штащ);

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

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

 

– Конец работы –

Эта тема принадлежит разделу:

Графи P

ДИНАМІЧНІ СТРУКТУРИ ДАНИХ R... Особливості динамічних структурP Лінійні зв язні списки P...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Застосування лінійних списків

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Особливості динамічних структур
  Динамічні структури даних по визначенню характеризуються: Ø відсутністю фізичної суміжності елементів структури в пам'яті, Ø мінливістю і непередбачу

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

Основні поняття
Нелінійним розгалуженим списком є список, елементами якого можуть бути теж списки. Якщо один з покажчиків кожного елемента списку задає порядок зворотний до порядку, встановлюваному іншим покажч

Основні поняття
Нелінійним розгалуженим списком є список, елементами якого можуть бути теж списки. Якщо один з покажчиків кожного елемента списку задає порядок зворотний до порядку, встановлюваному іншим покажч

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

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

Логічна структура, визначення
  Граф - це складна нелінійна багатозв’язна динамічна структура, що відображає властивості і зв'язки складного об'єкта і має наступні властивості: - на кожен елемент (вузол,

Машинне представлення орграфів
Існують два основних методи представлення графів у пам'яті ЕОМ: матричний, тобто масивами, і зв'язними нелінійними списками. Вибір методу представлення залежить від природи даних і операцій, вик

Алгоритми обробки графів
  Алгоритми обробки графів аналогічні алгоритмам обробки нелінійних списків, до яких можуть бути віднесені графи. Як приклад приведемо програму, що знаходить найкоротший шлях між двом

Основні визначення
Дерево - це граф, що характеризується наступними властивостями: - існує єдиний елемент (вузол, вершина), на який не посилається ніякий інший елемент - який називається корене

Логічне представлення і зображення дерев
Мається ряд способів графічного зображення дерев (див. рис. 7.17). 1). Використання діаграм Венна, що наочно показують вкладеність піддерев. 2). Спосіб,

Логічне представлення і зображення дерев
Мається ряд способів графічного зображення дерев (див. рис. 7.17). 1). Використання діаграм Венна, що наочно показують вкладеність піддерев. 2). Спосіб,

Бінарні дерева
Відрізняють m-арні дерева, тобто такі дерева в яких напівступінь виходу кожної вершини менше або дорівнює m (де m може дорівнювати 0,1,2,3 і т.д.). Якщо напівступінь виходу кожної вершини в точн

Типи бінарних дерев
Очевидно, що дерева, що складаються з n вершин, можуть бути побудовані по-різному. У залежності від того, як будуються дерева, розрізняють: ідеально збалансовані дерева, збалансовані і не збалан

Основні операції над деревами
Над деревами визначені наступні основні операції: - обхід дерева у визначеному порядку, - пошук вузла з заданим ключем, - додавання нового вузла, - видалення вуз

Використання дерев
Дерева знаходять широке застосування при реалізації трансляторів, при роботі з арифметичними виразами, для створення і роботи з частотними словниками, в системах економічного кодування сповіщень, т

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги