русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Задачі обробки спискових структур


Дата додавання: 2014-11-28; переглядів: 793.


Ці задачі виникають тоді, коли доводиться маніпулювати даними зі складними взаємозв’язками: наприклад, переклади з однієї природної мови на іншу, управління системою дорожніх світлофорів, створення розкладу занять. При цьому власне одиниці інформації (елементи списків) не перетворюються. Мова йде тільки про формування й перетворення списків. Складні взаємозв’язки вимагають складної і досить заплутаної організації повернення до слів, з використанням адресних посилань. Термін «обробка списків» означає, насамперед, упорядкування набору за якою-небудь ознакою, пошук першого елемента списку, додавання нового елемента до списку, пошук наступного за означеним елементом списку і т. п., тобто безліч операцій над списками суттєво відрізняється від арифметичних.

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

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

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


<== попередня лекція | наступна лекція ==>
Науково-технічні задачі | Лінійні алгоритми (5.1)


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн