Я хотел бы проанализировать часть своего кода с точки зрения сложности. В конце дня я хотел бы использовать O (n) -подобную нотацию для описания сложности.
Проблема в следующем: у меня есть города {c1, c2, .., c_N}. У меня также есть {t1, t2, ..., t_M} временные шаги. Я хочу перечислить все возможные маршруты. Маршрут"
является последовательностью кортежей {(c_i1, t_j1), ..., (c_iK, t_jK)}, где t_jK <= c_N. То есть
длина последовательности не фиксирована. Каждый город можно посетить только один раз, и t_ja <t_jb для b> a. Может ли кто-нибудь помочь мне разобраться в сложности этого?
Первой идеей было сгенерировать все пары (c_i, t_j), а затем сгенерировать все возможные
перестановки длины 1, 2, ..., M. Проблема, однако, заключается в том, что мне нужно вычесть перестановки, когда время не в правильном порядке, а также случаи, когда город посещают дважды.