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

【Algo】常见组合类数列

文章目录

  • 常见组合类数列
    • 1 常见递推/组合类数列
      • 1.1 基础递推类数列
      • 1.2 组合数学数列
      • 1.3 数论/函数类数列
      • 1.4 图论/路径问题相关数列
      • 1.5 算法和结构设计常用数列
    • 2 示例:有规律数列前 10 项对比表
    • 3 参考建议

常见组合类数列

介绍一些常见具有明显数学规律或递推关系的常见组合类数列。


1 常见递推/组合类数列

1.1 基础递推类数列

  1. Fibonacci 数列
    F(n) = F(n-1) + F(n-2), F(0)=0, F(1)=1

    • 应用:动态规划、斐波那契堆、黄金分割、兔子繁殖问题
  2. Lucas 数列
    L(n) = L(n-1) + L(n-2), L(0)=2, L(1)=1

    • 与 Fibonacci 类似,但初始值不同
  3. Tribonacci 数列
    T(n) = T(n-1) + T(n-2) + T(n-3)

    • 拓展了 Fibonacci,为三项递推
  4. Padovan 数列
    P(n) = P(n-2) + P(n-3)

    • 初始值:P(0)=P(1)=P(2)=1
  5. Pell 数列
    P(n) = 2*P(n-1) + P(n-2), P(0)=0, P(1)=1

  6. Jacobsthal 数列
    J(n) = J(n-1) + 2*J(n-2), J(0)=0, J(1)=1

  7. Tetranacci 数列
    T(n) = T(n-1) + T(n-2) + T(n-3) + T(n-4)


1.2 组合数学数列

  1. Catalan 数列
    C(n) = (2n)! / ((n+1)! * n!)

    • 应用:二叉树计数、括号匹配、堆叠问题等
  2. Bell 数列
    B(n) 表示将 n 个元素划分为若干非空子集的方法数

    • 应用:集合划分
  3. Stirling 数列(第一类 & 第二类)

    • 第一类:排列圈数计数
    • 第二类:子集划分计数
  4. Motzkin 数列
    M(n) = M(n-1) + sum_{k=0}^{n-2} M(k)*M(n-2-k)

    • 应用:无交叉弦结构、路径问题
  5. Schröder 数列(小 & 大)

    • 应用:路径计数、括号问题扩展
  6. Narayana 数列

    • 与 Catalan 有关,用于细分结构计数

1.3 数论/函数类数列

  1. Pascal 三角形(二项式系数)
    C(n, k) = n! / (k!(n-k)!)

    • 应用:组合数、概率
  2. 阶乘数列
    n! = n * (n-1)!

  3. 超级阶乘(Hyperfactorial)
    H(n) = 1^1 * 2^2 * 3^3 * ... * n^n

  4. 调和数列
    H(n) = 1 + 1/2 + 1/3 + ... + 1/n

  5. 素数数列

    • 应用:加密、筛法(如埃拉托色尼筛)
  6. 欧拉数(Eulerian Numbers)

    • 计数排列中特定升序数对的数量
  7. 伯努利数(Bernoulli Numbers)

    • 应用:泰勒展开、高阶导数公式等
  8. 高斯整数模/黎曼函数相关数列


1.4 图论/路径问题相关数列

  1. Dyck 路数列(等价于 Catalan)

  2. Lattice Path 数列(格点路径)
    C(n + m, n):从 (0, 0) 到 (n, m) 的路径数

  3. Delannoy 数列

    • 每步可以右、上或斜上走
  4. Manhattan 路径数


1.5 算法和结构设计常用数列

  1. Heap 树结构排列数(Catalan 相关)

  2. AVL 树高度组合(与 Fibonacci 相关)

  3. 哈夫曼编码树结构计数


2 示例:有规律数列前 10 项对比表

序列名定义公式(简写)前 10 项数据(从 n = 0 开始)
FibonacciF(n) = F(n-1) + F(n-2)0, 1, 1, 2, 3, 5, 8, 13, 21, 34
LucasL(n) = L(n-1) + L(n-2), L(0)=2, L(1)=12, 1, 3, 4, 7, 11, 18, 29, 47, 76
TribonacciT(n) = T(n-1) + T(n-2) + T(n-3)0, 0, 1, 1, 2, 4, 7, 13, 24, 44
TetranacciSum of last 4 terms0, 0, 0, 1, 1, 2, 4, 8, 15, 29
PellP(n) = 2·P(n-1) + P(n-2)0, 1, 2, 5, 12, 29, 70, 169, 408, 985
PadovanP(n) = P(n-2) + P(n-3)1, 1, 1, 2, 2, 3, 4, 5, 7, 9
JacobsthalJ(n) = J(n-1) + 2·J(n-2)0, 1, 1, 3, 5, 11, 21, 43, 85, 171
CatalanC(n) = (2n)! / [(n+1)! · n!]1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862
BellB(n): 集合划分数1, 1, 2, 5, 15, 52, 203, 877, 4140, 21147
Stirling IIS(n, k): n 元划分为 k 非空子集见注*
Motzkin路径数计数1, 1, 2, 4, 9, 21, 51, 127, 323, 835
Schröder (小)括号路径扩展1, 2, 6, 22, 90, 394, 1806, 8558, 41586, 206098
Narayana与 Catalan 相关1, 1, 1, 2, 3, 6, 10, 20, 35, 70 (某列)
阶乘n!1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880
超级阶乘∏(i^i)1, 1, 4, 108, 27648, 86400000, …
调和数列H(n) = ∑1/k0, 1, 1.5, 1.833…, 2.083…, 2.283…, …
DelannoyD(n) = ∑ C(n,k)²1, 3, 13, 63, 321, 1683, 8989, 48639, 265729, …

  • 注解:

    • Stirling 数(第二类) 通常不是单列,而是二维表格(S(n, k))。前几行为:

      S(0,0)=1  
      S(1,1)=1  
      S(2,1)=1, S(2,2)=1  
      S(3,1)=1, S(3,2)=3, S(3,3)=1  
      

3 参考建议

  • 可查阅 OEIS(Online Encyclopedia of Integer Sequences)

  • 常见序列编号:

    • Fibonacci: A000045
    • Catalan: A000108
    • Bell: A000110
    • Motzkin: A001006
http://www.xdnf.cn/news/907849.html

相关文章:

  • 在centos7.9重置qcow2 root密码-qcow2忘记密码
  • 《0/1背包》题集
  • 【大厂机试题解法笔记】最差产品奖
  • 大模型编程助手-windsurf
  • 云服务器厂商机房是什么
  • CMOS图像传感器系列--(二)HDR之DAG技术
  • 跟我学c++中级篇——理解类型推导和C++不同版本的支持
  • 旅行商问题(TSP)的 C++ 动态规划解法教学攻略
  • python --导出数据库表结构(pymysql)
  • React从基础入门到高级实战:React 实战项目 - 项目四:企业级仪表盘
  • Profinet 协议 IO-Link 主站网关(三格电子)
  • DDD架构实战 领域层 事件驱动
  • Hive窗口函数RANGE BETWEEN详解:用法、场景与案例(附真实业务案例)
  • spring重试机制
  • 三菱PLC与西门子PLC如何实现485通讯?
  • 关于锁策略的简单介绍
  • echarts柱状图实现动态展示时报错
  • 电子电气架构 --- 什么是功能架构?
  • QT自定义资源管理器
  • 并查集专题
  • 在 Windows 系统上运行 Docker 容器中的 Ubuntu 镜像并显示 GUI
  • 解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
  • Flutter:下拉框选择
  • Langchain4j 整合向量数据库(10)
  • 黑龙江云前沿服务器租用:便捷高效的灵活之选​
  • 【原神 × 二叉树】角色天赋树、任务分支和圣遗物强化路径的算法秘密!
  • 【Java后端基础 005】ThreadLocal-线程数据共享和安全
  • C++ 设计模式 《小明的奶茶加料风波》
  • 【手写数据库核心揭秘系列】第10节 SQL解析树的结构,语言识别与程序执行之间的桥梁
  • mysql错误码 2013 解决方案