С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688

Оптимизировать алгоритм

24.12.2013, 00:54. Показов 961. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приятель подкинул задачку:
Получить новую матрицу В, элемент b[i][j] которой равен наименьшему из элементов a[k][l] исходной матрицы, где k меняется от i до n, а l – от 1 до j. С у четом, что Матрица А исходная.
Он предложил решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void preobr (int **A, int **&B,const int n,const int m)
{
B=new int*[n];
for (int i=0; i<n; i++)
    B[i]=new int [m];
for (int i=0; i<n; i++)
    for (int j=0; j<m; j++)
    {
        int min=A[i][j];
        for (int k=i; k<n; k++)
            for (int l=0; l<j; l++)
                if (A[k][l]<min) min=A[k][l];
                    B[i][j]=min;
    }
}
Преподователь сказала, что нужно сделать оптимальнее
Чтобы трудоемкость была не n^4, а 3*n^2. Ничего лучше не придумали, может хоть кто-нибудь идейку подскажет?

Добавлено через 1 час 54 минуты
Нету идей?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2013, 00:54
Ответы с готовыми решениями:

Оптимизировать алгоритм проверки ударения слов
Здравствуйте, уважаемые участники форума. На образовательном сайте решал задание, система решение приняла. Так как я неопытный в...

оптимизировать алгоритм поиска вхождений строки в текстовый файл (1 Мб)
Здравствуйте. По заданию требовалось составить программу для подсчета вхождений разных сочетаний букв с алфавита от 1 буквы до 4 в...

Оптимизировать алгоритм, чтобы уменьшить количество операций для проверок деления
Всего один вопрос. Как оптимизировать алгоритм, чтобы уменьшить количество операций для проверок деления? #include &lt;iostream&gt; ...

1
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
24.12.2013, 07:51
Цитата Сообщение от Wolkodav Посмотреть сообщение
может хоть кто-нибудь идейку подскажет?
идея здесь только одна может быть. внимательно читаем условие и понимаем что нужно искать минимальное число в прямоугольном секторе ограниченном точками A[n-1][0] и A[i][j] (точки находятся на концах диагонали прямоугольника). Так вот если идти не с 0-ой строки вниз, а наоборот с n-1 строки вверх то получится, что для очередной точки B[i][j] можно минимум вычислить так: выбрать минимально значение из трех значений: A[i][j], B[i+1][j], B[i][j-1].
И все, единственное остается проверять что не выходим за границы матрицы, когда берем значения: B[i+1][j], B[i][j-1].
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.12.2013, 07:51
Помогаю со студенческими работами здесь

Вывести все правильные скобочные выражения (оптимизировать алгоритм, ускорить работу кода)
есть код, нужно cout и cin перевести на printf и scanf дополнительных библиотек не подключать! проблема в том что при вводе 14 работает...

Оптимизировать алгоритм поиска двух одинаковых фраз, в массиве фраз
Всем привет! Может кто подскажет, как оптимизировать алгоритм поиска 2-х одинаковых фраз, в массиве фраз? В моем алгоритме сравнения,...

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки )
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void lab () { int s1 = 0; int s2 =...

Волновой алгоритм поиска (Алгоритм A* / Алгоритм А стар)
Хочу разработать алгоритм для решения головоломки с подвижными дисками (перестановочная головоломка). Определение. Перестано́вочные...

Оптимизировать алгоритм
Не углубляясь в детали , суть задачи - добавлять в конец вектора два элемента с значением первого и удалять первый элемент из вектора . Я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru