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

算法课第一次作业

编码规范:
1)避免使用a,b,abc等无意义的名称
2)使用驼峰命名法,如camelCase,userName等类型的命名方式;使用蛇形命名法,如snake_case,user_name等类型的命名方式
3)在运算符号前后添加空格
4)括号风格保持一致,如左括号放在行尾或左括号另起一行
5)一行代码限制在 80 或 120 个字符以内,避免横向滚动
6)
《数学之美》感想和体会
关于第四章节,在与斐波那契数列有关的内容中,提到了从“暴力求解”到“算法优化”的演进过程。这个数列可以解决生活中的许多问题,比如兔子繁殖问题,要解决这个问题把它转化成斐波那契数列问题就很好解决。比如可以采用递归的方法:fib(n): if n<2 return n else fib(n-1) + fib(n-2)。这个代码虽然直观,但在实际运行中递归调用产生了指数级的时间复杂度,所以时间复杂度不是很理想。其实也可以采用“动态规划”的思想,比如设立一个数组来缓存已计算的结果:fib_list[0], fib_list[1] = 0, 1
for i in range(2, n+1): fib_list[i] = fib_list[i-1] + fib_list[i-2]。这个迭代版本将时间复杂度从O(2^n) 降到了O(n),时间复杂度大幅降低。

http://www.hskmm.com/?act=detail&tid=23772

相关文章:

  • 1. 对拍板子
  • Luogu P14122 [SCCPC 2021] Direction Setting题解 最小费用流
  • MySQL_基础
  • 5 qoj14553 序列与整数对 题解
  • AT_arc064_d [ARC064F] Rotated Palindromes
  • vscode代码块格式转换器
  • 二分模板
  • 如何控制事务?
  • C语言速成秘籍——跳转语句(goto) - 实践
  • 五子棋-下满了格子平局
  • 从免疫原性突破到技术迭代:全人源抗体如何重塑靶向治疗格局?
  • 工作感受月记(202510月)
  • 欧几里得算法与扩展欧几里得算法详解
  • 题解:AT_agc038_f [AGC038F] Two Permutations
  • 10.3 考试总结
  • CSP-S 复赛指南(2025年版)
  • AI元人文系列文章:AI元人文的未来——软硬件协同
  • 10.3考试反思
  • 10.2 考试总结
  • 20251003国庆模拟3
  • 20251002国庆模拟2
  • ハレハレヤ
  • 4-创建索引和约束 - 实践
  • 2025十一集训——Day2做题
  • 核聚变:Commonwealth Fusion Systems
  • 占个位置~
  • AI元人文系列文章:价值决策芯片——为机器安上一颗“透明的心”
  • 30天JavaScript挑战 - 从零基础到精通的完整学习指南
  • 题解:AT_agc057_c [AGC057C] Increment or Xor
  • 占个位置