You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Лінійний список

Матеріал з EverybodyWiki Bios & Wiki
Перейти до:навігація, пошук

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

  • конструктор для створення порожнього списку;
  • операція визначення порожності списку;
  • операція для додавання елемента в початок списку (cons в Лісп);
  • операція отримання першого елемента списку (або «голови») списку (car в Лісп);
  • операція для визначення списку, що складається із всіх елементів списку окрім першого (або його «хвоста») (cdr в Лісп).

Характеристики[ред.]

За визначенням, список — це послідовність з n≥0 елементів X[1],X[2], … X[n], для якої виконується наступна умова: якщо n>0 та X[1] — перший елемент у списку, а X[n] — останній, то k-й елемент розташований між X[k-1] та X[k+1] елементами для усіх 1<k<n.

З такими структурами даних виконуються наступні операції:

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

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

стек
лінійний список, в якому операції додавання та вилучення виконуються лише на одному кінці списку (верхівці стеку). Принцип побудови стеку називають LIFO (Помилка скрипту: Не існує модуля «lang».).
черга (однобічна черга)
лінійний список, в якому усі операції додавання виконується на одному кінці (в хвості черги), а операції вилучення — на іншому кінці списку (в голові черги). Принцип побудови черги називають FIFO (Помилка скрипту: Не існує модуля «lang».).
дек або двобічна черга (Помилка скрипту: Не існує модуля «lang»., deq)
лінійний список, в якому всі операції вставки та видалення виконуються на обох кінцях списку.

Не менш важливим окремим випадком лінійного списку є зв'язаний список, в якому кожний елемент окрім поля даних зберігає також вказівник на наступний. Така структура дозволяє зняти обмеження на зберігання лінійного списку в безперервній області пам'яті.

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

Посилання[ред.]


Див. також[ред.]


This article "Лінійний список" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Лінійний список.



Read or create/edit this page in another language[ред.]