|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.06.2014, 01:18 | #1 |
Пользователь
Регистрация: 14.01.2013
Сообщений: 58
|
Еврейский алгоритм (жадный) обьясните код
Это Дан массив из N целых чисел. Найти три числа, произведение которых максимально.
Код:
Последний раз редактировалось Stilet; 28.06.2014 в 09:03. |
28.06.2014, 09:09 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Если я правильно понял то нет тут никакого массива... А сам алгоритм прост: Есть три переменные. Берется первое число. Если оно больше чем первая переменная, то значение первой переменной переходит во вторую переменную, а перед этом значение второй переходит в третью, сохраняя а-ля стеком данные. И так для каждой переменной. После чего число попадает в первую (или вторую смотря какая переменка сравнивается) переменную. Таким образом:
Код:
I'm learning to live...
|
28.06.2014, 12:17 | #3 |
Пользователь
Регистрация: 15.04.2012
Сообщений: 46
|
это решение неверно, если есть отр. элементы
НИУ СГУ им. Чернышевского
|
28.06.2014, 12:59 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
28.06.2014, 19:29 | #5 |
Участник клуба
Регистрация: 30.01.2011
Сообщений: 1,578
|
наверное имеется ввиду случай когда лучше взять 2 отрицательных числа и третье положительное (- на - дают +), чем 2 положительных (но больше) и одно отриц...
к примеру -4 3 2 -9 по вашему принципу возьмет -4 3 2 но наиболее подходящий вариант -9 -4 3 или -2 4 5 -9 -18 8 если брать по возрастанию только 8 5 4 хотя лучше было бы -18 -9 5 а когда все числа отрицательные или все числа положительные, то вышеупомянутый вами вариант подходит.
пишу код не только за печеньки
Последний раз редактировалось VIK_aka_TOR; 28.06.2014 в 19:31. |
28.06.2014, 19:59 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
28.06.2014, 20:13 | #7 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Это не жадный алгоритм ИМХО.
Жадный алгоритм должен содержать какое-то предположение, на основе которого сокращается перебор и, соответственно, уменьшается сложность. Тут я ничего такого не вижу. |
28.06.2014, 21:01 | #8 |
Участник клуба
Регистрация: 30.01.2011
Сообщений: 1,578
|
к примеру можно отсортировать массив по убыванию
и затем уже смотреть, что больше произведение первый трех (когда там все положительные), или первого и последних двух (положительное и два отрицательных)
пишу код не только за печеньки
|
28.06.2014, 21:14 | #9 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,316
|
VIK_aka_TOR, если смотреть именно на такие произведения, то именно они и рассматриваются в исходном коде, но без сортировки массива.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
28.06.2014, 21:17 | #10 |
Участник клуба
Регистрация: 30.01.2011
Сообщений: 1,578
|
ну если сортировать, то и код меньше будет... и думаю быстродействие более менее (тут уже смотря какую сортировку взять)... ну а по правильности думаю будет норм... если чисел будет больше 3 )
пишу код не только за печеньки
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Жадный алгоритм на графе | slimper86 | Помощь студентам | 4 | 27.06.2013 09:31 |
Жадный алгоритм? | Loki_veil | Помощь студентам | 0 | 27.06.2012 12:05 |
Жадный алгоритм(Delphi) | maddanil | Помощь студентам | 0 | 26.05.2012 17:59 |
Жадный алгоритм | merhaba1992 | Помощь студентам | 1 | 05.11.2011 00:24 |
Жадный алгоритм и перебор | mailjaffka | Помощь студентам | 10 | 17.05.2010 16:20 |