Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > подсчёт количества операций в алгоритме


Автор: Kosya4ok 26.12.2007, 20:55
Всем привет!
Дополнение к данной теме.Имеется СЛАУ вида Ax=y, А[n*m]-разряженная, симметричная и положительно опеределенная матрица большого порядка. Какие существуют алгоритмы которые решают данную СЛАУ с минимальным количеством операций (умножение и т.д.).
Например, я уже реализовал решение методом Холецкого (с формой квадратного корня) и теперь как мне подсчитать количество операций в данном методе чтобы была возможность сравнения с остальными методами, если такие имеются?

Автор: SoWa 26.12.2007, 21:13
Вообще-то в другую тему, но ладно.
Если у тебя написан код, то посчитай кол-во математических операций за итерацию и умнож на кол-во итераций. Все просто.

Автор: Kosya4ok 28.12.2007, 00:26
Ну так если это не по теме то мона было указать тогда в какую тему писать?
А мона пример как рассчитывается количество математический операций?
У меня код состоит из множества функций в которых происходят мат операции, так что в каждой функции их надо считать потом ссумировать все вместе? Не громоздко ли?
НУ так на ответ с алгоримами я так и не получил...

Автор: maxim1000 28.12.2007, 12:03
монжо ещё позаменять все операции * на вызов функции, в которой:
1. умножать числа
2. увеличивать счётчик какой-нибудь
smile
кроме того, можно вообще написать свой класс, эмулирующий double и подсчитывающий количества разных операций, тогда можно будет просто позаменять double на этот класс в алгоритмах и логика работы не поменяется


Цитата(Kosya4ok @  28.12.2007,  00:26 Найти цитируемый пост)
НУ так на ответ с алгоримами я так и не получил...

я бы посоветовал создать ещё одну тему, а тут оставить ссылку на неё
а то люди читают вопрос, а "запоминается последняя фраза" © smile
потому здесь и не принято несколько вопросов в теме

Автор: maxdiver 29.1.2008, 23:12
Почему бы не замерять время работы? Написать два варианта, и оба сравнивать на различных тестах. Windows позволяет мерять время с точностью примерно микросекунд...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)