fibnacci数列递归实现
1.自我介绍:20231301 周子昂2.无穷的技艺3.2023-2024-1 20231301 《计算机基础与程序设计》第一周学习总结4.答疑讨论-- 《计算机基础与程序设计》(持续更新)5.安装iTerm2和oh-my-zsh6.安装iTerm2和oh-my-zsh7.2023-2024-1 20231301 《计算机基础与程序设计》第三周学习总结8.BMP图像处理9. IEEE754 浮点数10.BASE64编码11.罗马数字转阿拉伯数字12.师生关系13.2023-2024-1 20231301 《计算机基础与程序设计》第二周学习总结14.gcc测试--20231301周子昂15.逻辑运算16.寻找你的黑客偶像17.2023-2024-1 20231301 《计算机基础与程序设计》第四周学习总结18.pep9课下作业19.2023-2024-1 20231301 《计算机基础与程序设计》第五周学习总结20.2023-2024-1 20231301 《计算机基础与程序设计》第六周学习总结21.2023-2024-1 20231301 《计算机基础与程序设计》第七周学习总结
22. fibnacci数列递归实现
23.排序算法24.欧几里得算法25.链表26. 熟悉编程语言27.2023-2024-1 20231301 《计算机基础与程序设计》第八周学习总结28.2023-2024-1 20231301 《计算机基础与程序设计》第九周学习总结29.2023-2024-1 20231301 《计算机基础与程序设计》第十周学习总结1. fibnacci数列
2. fibnacci数列的递归表达式
F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
3. C语言
由于递归算法的特性,当计算较大的Fibonacci数列,如Fib(100)、Fib(1000)和尤其是Fib(10000),递归方法会变得极其低效,因为它会产生大量的重复计算,导致指数级的时间复杂度,使计算时间非常长甚至超过计算机的可接受范围。所以一分钟内计算出Fib(10000)是不太可能的。
4. 用GDB查看递归的堆栈情况
点击查看代码
$ gdb ./fibonacci
(gdb) break fibonacci
Breakpoint 1 at 0x1123: file fibonacci.c, line 4.
(gdb) run
Starting program: /path/to/fibonacci
Breakpoint 1, fibonacci (n=10) at fibonacci.c:4
4 if (n <= 1) {
(gdb) bt
#0 fibonacci (n=10) at fibonacci.c:4
#1 0x00005555555551e9 in fibonacci (n=9) at fibonacci.c:8
#2 0x0000555555555217 in fibonacci (n=10) at fibonacci.c:9
#3 0x000055555555526a in main () at fibonacci.c:18
(gdb) frame 1
#1 0x00005555555551e9 in fibonacci (n=9) at fibonacci.c:8
8 return fibonacci(n-1) + fibonacci(n-2);
(gdb) info locals
n = 9
(gdb) continue
Continuing.
Breakpoint 1, fibonacci (n=9) at fibonacci.c:4
4 if (n <= 1) {
(gdb) bt
#0 fibonacci (n=9) at fibonacci.c:4
#1 0x00005555555551e9 in fibonacci (n=8) at fibonacci.c:8
#2 0x0000555555555217 in fibonacci (n=9) at fibonacci.c:9
#3 0x000055555555526a in main () at fibonacci.c:18
(gdb) frame 1
#1 0x00005555555551e9 in fibonacci (n=8) at fibonacci.c:8
8 return fibonacci(n-1) + fibonacci(n-2);
(gdb) info locals
n = 8
(gdb) continue
...
posted on 2023-11-05 22:08 20231301周子昂 阅读(15) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY