Я только начинал заниматься динамическим программированием и пытался решить проблему с факториалом, используя то же самое. Я использовал двоичное дерево для базовой структуры данных, но когда я подумал о сравнении его с обычной рекурсией, решение с помощью рекурсии дало результат быстрее.Я использую Lenovo Ideapad3 с Arch и использую хронограф для расчета времени.
Ниже приведен код
Я только начинал заниматься динамическим программированием и пытался решить проблему с факториалом, используя то же самое. Я использовал двоичное дерево для базовой структуры данных, но когда я подумал о сравнении его с обычной рекурсией, решение с помощью рекурсии дало результат быстрее.Я использую Lenovo Ideapad3 с Arch и использую хронограф для расчета времени. Ниже приведен код [code]#include #include using namespace std; using namespace chrono;
class Fact{ struct Node { unsigned long long data, value; Node* Rptr; Node* Lptr; Node(): data(0), value(0), Rptr(nullptr), Lptr(nullptr) {} Node(int d, int v): data(d), value(v), Rptr(nullptr), Lptr(nullptr) {} }; Node* root; public: Fact(): root(nullptr) {} Node* inTree(Fact::Node* ptr, int data); Node* insertInTree(Fact::Node* ptr, int data, int value); unsigned long long findFact(int num); void deleteTree(Node* root) { if (root == NULL) { return; } deleteTree(root->Lptr); deleteTree(root->Rptr); delete root; }
~Fact() { deleteTree(root); } };
unsigned long long factorial(int n) { return (n < 1) ? 1 : n*factorial(n-1); }
int main() { Fact fact;
//DP solution auto start = high_resolution_clock::now(); auto answer = fact.findFact(20); auto stop = high_resolution_clock::now(); cout
Я пытаюсь найти более быстрый способ вычисления факториала. В следующем коде я сначала использую метод рекурсии, а затем другой метод, разделяя всю операцию на более мелкие вычисления и затем запуская их параллельно.
Мне любопытно, почему мой подход к проблеме внесения изменений не увенчался успехом. Мне эта логика понятна, поэтому я не уверен, в чем именно ошибка.
def count_change(denoms, denoms_length, amount):
Мне любопытно, почему мой подход к проблеме внесения изменений не преуспевает. Логика имеет смысл для меня, поэтому я не уверен, где провал.def count_change(denoms, denoms_length, amount):
Finds the number of ways that the given number of cents...
Недавно я обнаружил несколько веб-сайтов, на которых есть множество вакансий, связанных с моим курсом информатики. Это вызывает во мне желание глубже погрузиться в мир программирования, информационных технологий и сетей. Но, глядя на доступную...