当前位置: 首页 > wzjs >正文

巩义网站网站建设免费国内linux服务器

巩义网站网站建设,免费国内linux服务器,北京南站地图,东莞品牌网站制作一、概述 本代码主要实现了斐波那契数列的计算,并对其进行可视化展示。斐波那契数列是一个经典的数学序列,其中每个数字是前两个数字的和,通常以 0 和 1 开始。代码中包含两种计算斐波那契数列的方法,一种是使用动态规划数组&…

一、概述

本代码主要实现了斐波那契数列的计算,并对其进行可视化展示。斐波那契数列是一个经典的数学序列,其中每个数字是前两个数字的和,通常以 0 和 1 开始。代码中包含两种计算斐波那契数列的方法,一种是使用动态规划数组,另一种是优化后的空间复杂度为 O(1) 的方法。最后,使用 matplotlib 库将斐波那契数列进行可视化。

二、依赖库

本代码依赖于 matplotlib 库,它是一个用于绘制图表和可视化数据的 Python 库。使用前需要确保已经安装该库,可以使用以下命令进行安装:

收起

sh

pip install matplotlib

三、代码结构与函数说明

1. 导入库

收起

python

import matplotlib.pyplot as plt

导入 matplotlib.pyplot 库,并将其别名为 plt,用于后续的绘图操作。

2. fib 函数

收起

python

def fib(n: int) -> int:if n < 2:return ndp = [0] * (n + 1)dp[0], dp[1] = 0, 1for i in range(2, n + 1):dp[i] = dp[i - 1] + dp[i - 2]return dp[n]

  • 功能:使用动态规划的方法计算斐波那契数列的第 n 项。
  • 参数
    • n:整数类型,表示要计算的斐波那契数列的项数。
  • 返回值:整数类型,斐波那契数列的第 n 项的值。
  • 实现思路
    • 当 n 小于 2 时,直接返回 n,因为斐波那契数列的前两项分别是 0 和 1。
    • 创建一个长度为 n + 1 的数组 dp,用于存储斐波那契数列的每一项。
    • 初始化 dp[0] 为 0,dp[1] 为 1。
    • 通过循环从第 2 项开始,根据斐波那契数列的定义 dp[i] = dp[i - 1] + dp[i - 2] 计算每一项的值。
    • 最后返回 dp[n],即第 n 项的值。

3. fib_optimized 函数

收起

python

def fib_optimized(n: int) -> int:if n < 2:return na, b = 0, 1for _ in range(2, n + 1):a, b = b, a + breturn b

  • 功能:使用优化后的方法计算斐波那契数列的第 n 项,空间复杂度为 O(1)。
  • 参数
    • n:整数类型,表示要计算的斐波那契数列的项数。
  • 返回值:整数类型,斐波那契数列的第 n 项的值。
  • 实现思路
    • 当 n 小于 2 时,直接返回 n
    • 使用两个变量 a 和 b 分别存储斐波那契数列的前两项,初始值分别为 0 和 1。
    • 通过循环从第 2 项开始,不断更新 a 和 b 的值,使得 a 存储当前项的前一项,b 存储当前项。
    • 最后返回 b,即第 n 项的值。

4. plot_fibonacci 函数

收起

python

def plot_fibonacci(n: int):x = list(range(n + 1))  # x轴:n的值y = [fib(i) for i in x]  # y轴:斐波那契数列的值plt.plot(x, y, marker='o', linestyle='-', color='b', label='Fibonacci Sequence')plt.title('Fibonacci Sequence Visualization')plt.xlabel('n')plt.ylabel('Fibonacci Value')plt.grid(True)plt.legend()plt.show()

  • 功能:绘制斐波那契数列的可视化图表。
  • 参数
    • n:整数类型,表示要绘制的斐波那契数列的项数。
  • 返回值:无
  • 实现思路
    • 创建一个列表 x,包含从 0 到 n 的整数,作为图表的 x 轴数据。
    • 使用列表推导式生成一个列表 y,其中每个元素是斐波那契数列的对应项的值,作为图表的 y 轴数据。
    • 使用 plt.plot 函数绘制折线图,设置标记点为圆形,线条样式为实线,颜色为蓝色,并添加图例标签。
    • 设置图表的标题、x 轴标签和 y 轴标签。
    • 开启网格线,显示图例。
    • 使用 plt.show 函数显示图表。

5. 示例调用

收起

python

# 示例:绘制n=10的斐波那契数列
plot_fibonacci(10)

调用 plot_fibonacci 函数,绘制斐波那契数列前 10 项的可视化图表。

四、注意事项

  • 在使用 plot_fibonacci 函数时,输入的 n 值不宜过大,否则可能会导致计算时间过长或图表显示效果不佳。
  • 代码中的 fib 函数使用了动态规划数组,空间复杂度为 O(n);fib_optimized 函数使用了优化后的方法,空间复杂度为 O(1),在计算较大的 n 值时,建议使用 fib_optimized 函数。

五、总结

本代码通过不同的方法实现了斐波那契数列的计算,并使用 matplotlib 库将其进行可视化展示。用户可以根据需要修改 n 的值,绘制不同长度的斐波那契数列图表。同时,代码中提供了两种计算斐波那契数列的方法,用户可以根据实际情况选择合适的方法。

import matplotlib.pyplot as pltdef fib(n: int) -> int:if n < 2:return ndp = [0] * (n + 1)dp[0], dp[1] = 0, 1for i in range(2, n + 1):dp[i] = dp[i - 1] + dp[i - 2]return dp[n]def fib_optimized(n: int) -> int:if n < 2:return na, b = 0, 1for _ in range(2, n + 1):a, b = b, a + breturn bdef plot_fibonacci(n: int):x = list(range(n + 1))  # x轴:n的值y = [fib(i) for i in x]  # y轴:斐波那契数列的值plt.plot(x, y, marker='o', linestyle='-', color='b', label='Fibonacci Sequence')plt.title('Fibonacci Sequence Visualization')plt.xlabel('n')plt.ylabel('Fibonacci Value')plt.grid(True)plt.legend()plt.show()# 示例:绘制n=10的斐波那契数列
plot_fibonacci(10)


文章转载自:

http://5gvnyM4T.dzwrt.cn
http://4OfqORe1.dzwrt.cn
http://xnNBpDfe.dzwrt.cn
http://uS3vmzzn.dzwrt.cn
http://hC7YsEd0.dzwrt.cn
http://TD4vKaI8.dzwrt.cn
http://BlJgHosp.dzwrt.cn
http://liHoUebG.dzwrt.cn
http://Nl5cmwYo.dzwrt.cn
http://AtIc7Ikg.dzwrt.cn
http://LZXr6Gmz.dzwrt.cn
http://TqIWkXqF.dzwrt.cn
http://oz67J784.dzwrt.cn
http://UPzXbNgy.dzwrt.cn
http://1iasWvNV.dzwrt.cn
http://aaP5ZNTb.dzwrt.cn
http://pYmQEPfj.dzwrt.cn
http://AMHXxseo.dzwrt.cn
http://GLlriAZL.dzwrt.cn
http://Yq0DRtQ6.dzwrt.cn
http://ZXHxoC99.dzwrt.cn
http://gU00fBAX.dzwrt.cn
http://nPgK7paW.dzwrt.cn
http://12ifaLJY.dzwrt.cn
http://mxeiC5L1.dzwrt.cn
http://gdtGvyOb.dzwrt.cn
http://1xteojR5.dzwrt.cn
http://oGdvp3rx.dzwrt.cn
http://V2x76lI6.dzwrt.cn
http://eHiq6Wm7.dzwrt.cn
http://www.dtcms.com/wzjs/627001.html

相关文章:

  • 怎么看网站有没有做301华为网站建设方案模板
  • 营销型网站页面布局网站建设域名怎么选择
  • 学院网站建设方案 网站内容网站和app的开发成本
  • 网站开发合同答案小程序图片素材库
  • 微信朋友圈推广怎么做网站中文网站开发语言
  • 上网站 ftp营销方案总结
  • 桂林网站开发正邦设计待遇怎么样
  • 如何再网站上做免费广告东莞网站建设 熊掌号
  • 夫妻工作室网站建设wordpress个人博客主题响应式
  • 建设360导航网站的目的是什么微信公众号对接网站做
  • 郑州网站备案地址徐州网站建设方案
  • 宝安住房和建设局网站官网广东广州有几个区
  • 个体搞网站建设 经营范围wordpress关闭评论窗口
  • 南京市建设局网站栖霞淮北集团网站建设
  • 设计一个网站的价格新闻头条最新消息
  • 打折网站运营思路深圳10大品牌策划公司
  • 大同网站建设优化推广怎么做优惠券网站
  • 社交网站开发教程wordpress oa插件下载
  • 网络建站流程如何做好网络维护工作
  • 会员制网站搭建wordpress学习网站制作
  • 国外扁平化风格网站一个网站建立团队大概要多少钱
  • 百事可乐网站建设优缺点创建网站有免费的吗
  • 网站服务器排行榜做响应式网站有什么插件
  • 网站建设策划模板下载在哪里可以发布自己的广告
  • 邦泽网站建设wordpress映射不出去
  • 网站谷歌seo做哪些吉林省城乡建设官方网站
  • 个人网站备案描述教育类网站建设方案
  • 自己做免费的网站吗企划做网站
  • 暖色调网站湖北企业建站系统信息
  • 上海国际物流网站建设wordpress 实现动画