170 похожих чатов

Может кто-нибудь подскажет, как подсчитывается временная сложность алгоритма, если

у меня размер контейнера будет увеличивается на каждой итерации.

Допустим есть n входных массивов и один выходной, при этом в цикле происходит операция над каждым массивом, сложность которой зависит от длины выходного массива, как это учесть?

18 ответов

16 просмотров

поясни как сложность может зависеть от выходных данных?

Временная сложность не зависит от этого в общем случае

Как это учесть - тоже не понятно не зная алгоритма и его сути

MrAndreson- Автор вопроса
Ilya Zviagin
Как это учесть - тоже не понятно не зная алгоритма...

ну допустим есть такая функция // v содержит отсортированные списки list<int> foo(vector<list<int>> &v) { list<int> res; for(list<int> &li : v) { res.merge(li); return res; } тут у merge, как говорит стандарт, сложность O(n+k), где n и k объединяемые списки, но n на каждой итерации увеличивается на k, и тут возник вопрос, это влияет в общем случае но сложность или нет?

MrAndreson- Автор вопроса
MrAndreson
в смысле суммировать цикл?

а относительно каких параметров вы хотите считать временную сложность алгоритма?

MrAndreson- Автор вопроса
Constantine Drozdov
а относительно каких параметров вы хотите считать ...

понял, только вопрос то в чем, понятно, что сложность будет m * (n + k), где m размер входного вектора, n - размер res, k - размер li, только n меняется на каждой итерации на k, разве это не влияет на сложность??

MrAndreson
понял, только вопрос то в чем, понятно, что сложно...

странно оценивать временную сложность относительно внутреннего параметра алгоритма, так что непонятно, при чем тут res

MrAndreson- Автор вопроса
Constantine Drozdov
странно оценивать временную сложность относительно...

так размер res же напрямую влияет на время работы ф-ции merge

MrAndreson
так размер res же напрямую влияет на время работы ...

вот смотрите for (int i = 0; i < n; ++i) for (int j = 0; j < i; ++j) if (a[i] < a[j]) swap(a[i], a[j]); вы задаёте вопрос: как оценивать сложность этого алгоритма, ведь внутренний цикл зависит от параметра i

MrAndreson
так размер res же напрямую влияет на время работы ...

сложность квадратичная. если n- число списков, то каждый n-й список добавит обработку не только своих элементов, но и дополнительный перебор всех накопленных элементов предыдущих n-1 списков,

MrAndreson- Автор вопроса
MrAndreson- Автор вопроса
Andrey M
сложность квадратичная. если n- число списков, то ...

стоп, а не m*n, где m общее к-во элементов?

MrAndreson
стоп, а не m*n, где m общее к-во элементов?

мы ничего не знаем про элементы списка. усредненно считаем, что все списки равноценны на бесконечности.

Andrey M
сложность квадратичная. если n- число списков, то ...

для \sum_{i=1..n} (n-i)*s_i такая оценка бывает грубоватой. Скажем, \sum_{i=1..n} (n-i)*2^i = O(2^n) = O(\sum_{i=1..n} 2^i)

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Карта сайта