сті інформації. Функціональні оператори переходу задають сукупність обчислювальних операцій над даними і відносяться до одного класу операторів, званих основними операторами. p align="justify"> Сукупність операторів і зв'язків між ними найбільш наочно представляється графом алгоритму, який будується як композиція вершин, відповідних операторам алгоритму, і дуг, що відображають зв'язки між операторами. Граф алгоритму є коректним, якщо виконуються наступні умови: є тільки одна початкова і тільки одна кінцева вершина; для кожної вершини крім початкової існує, принаймні, один шлях, що веде в цю вершину з початкової; з кожної вершини крім кінцевої існує, по крайней заходу, один шлях, що веде з цієї вершини в кінцеву; вихід з будь-якої вершини повинен вести тільки до однієї вершині графа; ри будь-яких значеннях логічних умов існує шлях з початкової вершини в кінцеву, причому будь-якого фіксованому набору значень умов відповідає тільки один такий шлях.
Наведемо приклад графа алгоритму:
Домовимося, вершини графа позначати номерами 0,1,2, ..., К. О - відповідає початковій вершині графа, К - кінцевої вершини; 1,2, ..., К-1 ідентифікують оператори алгоритму. У програмуванні графи алгоритмів зображуються з використанням набору фігур, що позначають тип оператора, і називаються схемами алгоритмів. p align="justify"> Граф виділяє структуру алгоритму, визначає безліч операторів
V = {V1, V2, ..., Vk-1}
і безліч дуг, що пов'язують оператори
D = {(i, j)} i = 0, 1, ..., K-1 j = 1,2, ..., K
Для оцінки трудомісткості алгоритму необхідно:
. Розбити безліч операторів на класи:
- основних операторів
S0 = {V a 1, V a 2, ..., V a m0} V a k ГЋ V
- операторів введення-виведення
Sh = {V b 1, V b 2, ..., V b mh} h = 1,2, ... , H
кожен з цих операторів задає звернення до одного і того ж файлу Fh.
. Для кожного основного оператора V a необхідно визначити середнє кількість операцій k a...