84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|||||||||||
1 | |||||||||||
Нужно ускорить или уменьшить код14.05.2015, 00:19. Показов 654. Ответов 2
Метки нет (Все метки)
Программа находит определенное количество подмножеств заданного множества
Нужно ее либо ускорить либо уменьшить количество символов.(Можно перекодить в с++ но мне не хватает знаний)
Попробовал StringBuffer но тогда проблемы с инициализацией(
0
|
14.05.2015, 00:19 | |
Ответы с готовыми решениями:
2
Нужно ускорить код Код работает долго, нужно ускорить Нужно ускорить код. Буду очень благодарен Данные из одномерного массива в SQL запрос (или как уменьшить код) |
95 / 95 / 15
Регистрация: 11.11.2010
Сообщений: 424
|
|
15.05.2015, 10:31 | 2 |
Что значит параметр P? Вы хотите найти количество подмножеств считанного с консоли множества? Тогда непонятно, зачем вам строчки 33-35 первого сниппета. Окей. Предположим, что всё таки вы ищете множество подмножеств считанного с консоли множества (обзовём M). Потом вы ищете количество подмножеств M и т.д.. Тогда встаёт вопрос, какие у вас ограничения на P и w? Потому что сложность этого алгоритма оценивается как 2^(2^(2^(2....(2^w)))), где возведение в степень повторяется P раз. В принципе уже понятно, что на P >= 5 и w >= 5 мы не дождёмся результата. Микрооптимизациями, мне кажется, тут не спастись. Если же у вас P и w малы, то поменяйте StringBuffer на StringBuilder (так как StringBuffer использует synchronized, который нам не нужен). Дальше можете попробовать распаралеллить программу.
Всё это написано в предположении, что я верно понял ваш код=)
0
|
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
|
|
15.05.2015, 10:56 [ТС] | 3 |
Да в случает если P > 5 и элементов не ноль программа не работает. И да тут ищется определенное количество подмножеств множества. Я просто искал наиболее быструю реализацию. Попробовал BufferedReadr + String , BufferedReader + StringBuffer, Scanner + String и самым быстрым оказалась первая связка. Переписав тот же код в Ruby и Python я получил прирост в скорости при расчете в Ruby и Python при (1 3 {2 3 5} и 2 2 {0 1}) а в джаве при (5 0)
0
|
15.05.2015, 10:56 | |
15.05.2015, 10:56 | |
Помогаю со студенческими работами здесь
3
Как ускорить выполнение и уменьшить вес программы? Ускорить загрузку программы и уменьшить количество потребляемой памяти Как ускорить время выполнения и уменьшить вес программы? Как можно ускорить производительность HDD (уменьшить активное время)? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |