Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Оцінка складності алгоритмів

Реферат Оцінка складності алгоритмів





операцій в викликається процедурі, плюс власне оператор виклику (з одиничною складністю) (3, стор 108-119). З метою аналізу алгоритм (програму) зручно представляти керуючим графом (споріднене поняття - схема алгоритму). Керуючий граф будується наступним чином. Кожному оператору присвоювання або викликом процедури ставиться у відповідність вершина графа (крапка). Два послідовно записаних оператора (послідовно виконуваних) зображуються вершинами, з'єднаними стрілкою, що вказує порядок виконання (рис. 2) (3, стор 122). br/>В 

Рис.2. Граф лінійної ділянки


Послідовність з декількох операторів присвоювання або викликів процедур зображується ланцюгом і називається лінійним ділянкою. Умовний оператор зображується вершиною, відповідної обчисленню умови, і двома виходять дугами з приписаними їм варіантами then, else (рис. 3). br/>

if a
В 

Рис.3. Граф умовного оператора


Якщо після then записаний складений оператор (лінійний ділянка), то в керуючому графі йому відповідає ланцюг. Умовний оператор задає розгалуження в керуючому графі, що закінчується порожній вершиною (без операцій), поміченої крапкою з комою. Якщо в операторі частина else відсутнє, то нижня гілка включає порожню вершину. Подібний фрагмент в керуючому графі породжує оператор вибору case, але тільки розгалуження може бути на більше число гілок і виходять дуги позначаються відповідними константами (рис. 4). br/>В 

Рис.4. Граф оператора розгалуження


Оператори циклу (малюнок 5) зображуються в керуючому графі замкнутої послідовністю вершин (циклом).


В 

Рис.5. Графи операторів циклу


Крім цього в керуючому графі вводиться одна початкова вершина і одна або декілька заключних вершин. Кожній вершині графа пріпішем число - кількість операцій, які необхідно виконати для виконання оператора програми, пов'язаного з цією вершиною. Це число назвемо вагою вершини. Вага порожній, початкової і заключних вершин дорівнює нулю. Якщо з вершини виходить дві або більше дуги, то кожній з них пріпішем умова, при виконанні якого обчислювальний процес піде в цьому напрямку. Ці умови будемо називати позначками дуг. Таким чином, керуючий граф програми являє собою спрямований зважений граф. p> Необхідно розглянути наступні кілька випадків (6, стор 172-178):

Керуючий граф являє собою лінійний ділянку. Складність дорівнює сумі ваг вершин, що належать лінійному ділянці, і є константою, якщо на ділянці немає вершин - викликів процедур. Якщо такі вершини є, то їх вага дорівнює функціям складності відповідних процедур. p> Керуючий граф містить розгалуження, але не містить циклів. Це означає, що обчислювальний процес в залежності від вихідних даних може попрямувати за однією з кінцевого числа гілок, що починаються в початковій вершині і закінчуються в одній з кінцевих вершин. Розрахунок функції складності залежить від того, розглядається найгірший випадок або середній випад...


Назад | сторінка 8 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка програми для пошуку максимально віддалених вершин у графі
  • Реферат на тему: Граф М.Т. Лоріс-Меліков і його спроба урядових реформ
  • Реферат на тему: Пошук вершини в графі між двома заданими вершинами
  • Реферат на тему: Пошук найкоротшого шляху між парами вершин в орієнтованому і неориентирован ...
  • Реферат на тему: Збірка Івана Франка "З вершин и низин"