Это проблема, я работаю над Как изменится временная сложность от грубой силы до решения рекурсии?
Я реализовал грубое силовое решение и разделяй и (рекурсивное) решение властвуй. Они оба работают с этим входом (от 1 до 4)
Для решения грубой силы я сделал все подмножества {1,2,3,4}, перебирал все подмножества и проверял только те, которые содержали 1 и 4. Я знаю, что моя скотина решение сила будет работать в O (2 п) времени, потому что математически 2 п подмножеств и я должен перебрать их все.
Для моего рекурсивного решения. то, что я сделал, нарушило эту проблему, так что единственными решениями, которые были созданы/будут проверены, будут те, которые содержат 1 и 4. Например, с 1 вы можете перейти к 2,3,4, и если вы перейдете к 2, вы можете пойти до 3,4 и т. д. до 4.
После анализа обоих алгоритмов я понял, что единственное различие заключается в том, что деление и победа не будут проверять подмножества, у которых не было 1 и 4, но грубая сила, скажем, {2,3}. Как это различие повлияет на временную сложность рекурсивного алгоритма. Будет ли рекурсивный алгоритм также работать в O (2 n) или что-то меньшее, потому что он проверяет меньше подмножеств?
Кажется, это классическая проблема для динамического программирования, так как проблема имеет оптимальную подструктуру. (или просто уменьшить проблему до DAG, и запустить алгоритм с самой краткой траекторией). – amit
принадлежит http://cs.stackexchange.com/ – StilesCrisis
Это также по теме, под тегом алгоритма.Он спрашивает, как решить проблему, которая может быть вычислена на любом языке программирования. – amit