Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 12
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Диплом RSA, ЭЦП, сертификаты, шифрование на C#
Обратное размещение элементов ЭВС на Delphi + Пояснительная записка
Моделирование работы крупного аэропорта на GPSS + Пояснительная записка

8.5. И что это значит?
Пока что мы действовали довольно безответственно, используя «О-большое». Пришло время поговорить о реальных вещах и измерить время выполнения программ. Я реализовал четыре приведенных выше алгоритма на языке С на компьютере Pentium II 400 МГц, измерил скорость их работы и экстраполировал данные, сведя их в табл. 8.1. Время выполнения алгоритма 26 обычно отличалось не более чем на 10% от алгоритма 2а, поэтому я не стал выделять его в отдельный столбец.
Таблица 8.1. Скорость работы алгоритмов
Алгоритм 1 2 3 4
Время выполнения 1,Зи3 10 п2 47н log2 п 48м
в наносекундах
Время 103 1,3 с 10 мс 0,4 мс 0,05 мс
решения Ю* 22 мин 1 с 6 мс 0,5 мс
задачи 105 15 дней 1,7 мин 78 мс 5 мс
размером ю6 41 год 2,8 ч 0,94 с 48 мс
ю7 41 тыс. лет 1,7 недели 11 с 0,48 с
Максималь 1 С 920 10 000 1,0х106 2,1х107
ный размер 1 мин 3600 77 000 4,9х107 1,3х109
задачи, 1 ч 14 000 6,0х105 2,4х109 7,6хЮ10
решаемой за 1 день 41 000 2,9x10б 5,ОхЮ10 1,8х1012
При увеличении п в 10 раз 1000 100 10+ 10
время возрастает в
При увеличении времени 2,15 3,16 10- 10
в 10 раз п увеличивается в
Эта таблица дает довольно много разнообразных сведений. Самый главный вывод; выбор правильного алгоритма может очень сильно влиять на время решения задачи. Это особенно подчеркивается в средней части таблицы. Последние две строки показывают, как связаны время решения задачи и ее размер.
Есть еще один важный момент. При сравнении кубического, квадратичного и линейного алгоритмов постоянные множители в выражениях для производительности значат не так уж много. Обсуждение алгоритма с временем выполнения 0(ц!) в разделе 2.4 (см. главу 2) показывает, что для быстрорастущих функций постоянные множители значат еще меньше. Чтобы подчеркнуть важность этого момента, я поставил эксперимент, в котором разница в постоянных множителях была максимально возможной. Алгоритм 4 был реализован на компьютере Radio Shack TRS-80 Model III (бытовой компьютер 1980 года выпуска с процессором Z80 на частоте 2.03 МГц). Чтобы еще больше замедлить его работу, я использовал интерпретатор Бейсика, что замедляет программу в 10-100 раз по сравнению с компилированным кодом. Алгоритм 1 был реализован на компьютере Alpha 21164 с частотой 533 МГц. Время выполнения кубического алгоритма росло по формуле 0,58л3 не,
а для линейного алгоритма — 19,5л мс (то есть 19500000л не или 50 элементов в секунду). В табл. 8.2 показаны результаты экспериментов для различных размеров задачи.
Опубликовал vovan666 April 17 2013 00:00:39 · 0 Комментариев · 3821 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Использование Lis...
FormShape [Исходн...
Черный круг двига...
CodeGear RAD Stud...
Pirc
Strawberry Prolog...
Text effect
Усложнённый кальк...
Matrix2D
Assembler. Практикум
mp3tag
Borland Delphi 6....
Заставка. Изображ...
Доступа к БД Fire...
Книга по Delphi (...
AddPage [Исходник...
Adapter (пример D...
Развивающийся фла...
Работа с матрицами
Простой пример ка...

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98016
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14239
Borland Delphi ... 10373
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Автомобилей выкуп
Тестирование: объе...
Высокий трафик не ...
Код сообщения втор...
Оболочка независим...
Списки
Надписи
Как повысить тИЦ? ...
Отделение интерфей...
Кошачий туалет зак...
Параметры шаблона ...
— обновления серти...
Основные понятия и...
Клиенты Windows fo...
О серии ХР
File not open
Протоколы и интерф...
Проиложение А. Эво...
Процедура InitGrap...
брандмауэре
ш - Алфавитный ука...
Обычно при внедрен...
Программирование а...
Unexpected end of ...
Конструктор копиро...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?