Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2010, 00:47   #1
serj-07
Пользователь
 
Аватар для serj-07
 
Регистрация: 07.03.2009
Сообщений: 68
По умолчанию Определить сложность алгоритма

Всем здравствуйте!!!
Помогите как определить временную и емкостную сложность алгоритма решая задачу при равномерном и логарифмическом весовых критериях или подскажите где найти подробную информацию по данной теме.
ЗАДАЧА:
В массиве n целых чисел найти все пары элементов, сумма которых четна и сформировать новый массив из этих сумм.

спасибо.
Мы все учились понемногу
Чему-нибудь и как-нибудь!!!
serj-07 вне форума Ответить с цитированием
Старый 10.08.2010, 06:16   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от serj-07 Посмотреть сообщение
Всем здравствуйте!!!
Помогите как определить временную и емкостную сложность алгоритма решая задачу при равномерном и логарифмическом весовых критериях или подскажите где найти подробную информацию по данной теме.
ЗАДАЧА:
В массиве n целых чисел найти все пары элементов, сумма которых четна и сформировать новый массив из этих сумм.

спасибо.
Не совсем понятно, что означает "временная и емкостная сложность алгоритма" и "равномерный и логарифмический весовой критерий".
Если я правильно понял, необходимо определить время выполнения задачи, и её объём.
Время выполнения зависит от степени вложенности циклов, количества обрабатываемых в них данных и времени выполнения операций.
Каждый вложенный цикл, это степень, в которую возводится число исходных данных.
Например, если цикл один, - это N^1, если два - N^2 и т.д.
Объём зависит от к-ва введённых, исходных данных.
Для твоей задачи можно использовать два цикла for. Соответственно N^2*(f)ti .
Где N - к-во обрабатываемых данных;
f - к-во машинных команд в циклах (сумма от 1 до m);
t - время выполнения одной машинной команды.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 10.08.2010, 07:19   #3
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от serj-07 Посмотреть сообщение
Всем здравствуйте!!!
Помогите как определить временную и емкостную сложность алгоритма решая задачу при равномерном и логарифмическом весовых критериях или подскажите где найти подробную информацию по данной теме.
ЗАДАЧА:
В массиве n целых чисел найти все пары элементов, сумма которых четна и сформировать новый массив из этих сумм.

спасибо.
http://abc.vvsu.ru/Books/ebooks_iskt...%DB/ocenka.htm
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 10.08.2010, 07:27   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Эффективность программы (кода) является очень важной ее характеристикой. Пользователь всегда предпочитает более эффективное решение даже в тех случаях, когда эффективность не является решающим фактором.
Ну-ну, это где? Не читайте это, а то сформируется неверное представление о жизни . То-то я смотрю Виста просто предел эффективности.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 10.08.2010 в 07:30.
Utkin вне форума Ответить с цитированием
Старый 10.08.2010, 07:33   #5
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
Радость

Цитата:
Сообщение от Utkin Посмотреть сообщение
Ну-ну, это где? Не читайте это, а то сформируется неверное представление о жизни . То-то я смотрю Виста просто предел эффективности.
ему (топикстартеру) это для занятий скорей всего нужно
я такое тоже проходил))) один раз пользовался, также только ради того, чтобы подготовиться к паре
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 10.08.2010, 07:54   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Если один цикл вложен в другой и оба цикла зависят от размера одной и той же переменной, то вся конструкция характеризуется квадратичной сложностью.
For i:=1 to N do
For j:=1 to N do
Begin
...
End;
Сложность этой программы О(N2).
Поправка О(N^2).

Цитата:
1) для сложных алгоритмов получение O-оценок, как правило, либо очень трудоемко, либо практически невозможно,
2) часто трудно определить сложность "в среднем",
3) O-оценки слишком грубые для отображения более тонких отличий алгоритмов,
4) O-анализ дает слишком мало информации (или вовсе ее не дает) для анализа поведения алгоритмов при обработке небольших объемов данных.
Вообще, оценка алгоритма вещь весьма неблагодарная.
Об эту тему не один программист себе лоб рассшиб.
Для выбора "лучшего" алгоритма, есть простой способ.
Пишеш их штуки три. Тестируеш. И выбираеш тот, который более всего отвечает поставленным критериям.
Примерно так.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложность с массивами k1r1ch Общие вопросы C/C++ 5 09.01.2010 16:09
сложность алгоритма NiCola999 Помощь студентам 14 22.11.2009 19:33
Сложность с запросом БД k1r1ch БД в Delphi 4 27.09.2009 18:50
Сложность взлома XLS Alex Cones Свободное общение 13 29.08.2009 15:13
Сложность Алгоритма PChEL@ Помощь студентам 3 26.05.2007 07:56