Решение проблемы факториала с использованием динамического программирования, что требует больше времени, чем простая рекC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Решение проблемы факториала с использованием динамического программирования, что требует больше времени, чем простая рек

Сообщение Anonymous »

Я только начинал заниматься динамическим программированием и пытался решить проблему с факториалом, используя то же самое. Я использовал двоичное дерево для базовой структуры данных, но когда я подумал о сравнении его с обычной рекурсией, решение с помощью рекурсии дало результат быстрее.Я использую Lenovo Ideapad3 с Arch и использую хронограф для расчета времени.
Ниже приведен код

Код: Выделить всё

#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 

Подробнее здесь: [url]https://stackoverflow.com/questions/79309141/solution-to-factorial-problem-using-dynamic-programming-resulting-in-more-time-t[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»