Головна » Статті » Математика програмістів » Проектування |
Поняття трудомісткості
Уявімо, що у Ви розробили алгоритм вирішення певної задачі і, відповідно, появилась потреба в оцінці того, скільки ж операцій буде ним виконано. У теоретичній інформатиці є таке поняття, яке являє собою цю оцінку. Це трудомісткість. Тобто трудомісткість - це оцінка (хоча правильніше буде сказати - характеристика) алгоритму, яка чисельно дорівнює кількості операцій, що виконує даний алгоритм.
Отож, ми маємо число, по якому ми оцінюємо наскільки багато дій буде виконувати певна програма чи її частина, але чи є метод його математичного обчислення? Виявляється, є. На даний момент одним із найпоширеніших підходів до програмування на даний момент є структурний. Давайте розглянемо формули (нагадую, що вони чисто математичні) для основних наявних в ньому конструкцій: "послідовний перехід", розгалуження та циклу. (Позначимо трудомісткість набори розглядуваних команд як З розгалуженням ситуація трішки складніша. У нас є два "блоки" (хоча це лише окремий випадок; згадайте про такі конструкції як switch або if-else-if, у яких їх може бути значно більше, але суті це не міняє) і ймовірність виконання І, нарешті, цикли (розгдянемо лише цикли з параметром). Не будемо тут вияснювати, що звідни береться. Нехай параметр у нас змінює значення від 1 до N та "внутрішній блок" операцій має трудомісткість Отож, ми вияснили, що таке трудомісткість алгоритму і як його можна визначати при структурному підході до програмування. Надіюсь, дана інформація була для Вас корисною. | |
Переглядів: 138 | | |
Всього коментарів: 0 | |