首页 > 软件 > python算法问题?

python算法问题?

软件 2023-12-17

python算法问题?

因为你的代码里每次递归调用fib都重新生成了memo

没有起到“备忘录”的作用

应该让memo定义在fib外,这样每次递归就可以利用之前已经计算过的结果了

具体代码如下所示:

def fib(n):

memo = [0 for x in range(n + 1)]

return helper(memo, n)

def helper(memo, n):

if memo[n] > 0:

return memo[n];

if n <= 2:

memo[n] = 1

else:

memo[n] = helper(memo, n - 1) + helper(memo, n - 1)

return memo[n]

print(fib(100))

python3编译通过,fib(100)运行结果为:

python算法问题?


你好,答案如下所示。

如图所示

希望你能够详细查看。
如果你有不会的,你可以提问
我有时间就会帮你解答。
希望你好好学习。
每一天都过得充实。

python中有哪些简单的算法?

1、插入排序 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。 2、希尔排序 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1

python写算法不好

基于以下三个原因,我们选择Python作为实现机器学习算法的编程语言:(1) python的语法清晰;(2) 易于操作纯文本文件;(3) 使用广泛,存在大量的开发文档。 可执行伪代码 Python具有清晰的语法结构,大家也把它称作可执行伪代码(executable pseudo-code)。默认安装的Python开发环境已经附带了很多高级数据类型,如列表、元组、字典、集合、队列等,无需进一步编程就可以使用这些数据类型的操作。使用这些数据类型使得实现抽象的数学概念非常简单。此外,读者还可以使用自己熟悉的编程风格,如面向对象编程、面向过程编程、或者函数式编程。 Python语言处理和操作文本文件非

标签:python 信息技术 编程 算法 Python入门

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18