Open main menu

Changes

[[File:imagem35.png]]
Agora, para ilustrar a diferença em complexidade computacional, compararemos os métodos processual e “->” usando a função {\bf '''time} ''' do maple.
[[File:imagem36.png]]
Então , fica claro que a função {\bf '''remember} ''' pode fazer uma enorme diferença em complexidade de tempo. Outra maneira de melhorar a eficiência de uma função definida recursivamente é reescrevê-la para evitar o uso de recursão. Ao invés disso, reestruturamos para que use um algoritmo iterativo. Na construção de um algoritmo iterativo, os componentes chave consistem em criar uma forma de loop (um {\bf '''for} ''' ou {\bf '''while}''') que computará valores começando do menor para o maior. Este método de programação é chamado de {\bf '''bottom up}''': onde os menores valores de uma sequencia são computadose então usados para valores maiores.
[[File:imagem37.png]]
Faça um contraste entre esse procedimento e o procedimento recursivo {\bf '''f2} ''' que foi definido anteriormente.
[[File:imagem38.png]]