卡特兰数及其应用

简介: 卡特兰数及其应用

前言

A和B是两个毫不相关的集合,但是集合的个数可数。只要能找到某一个映射 f ,让A集合里的一个样本x只对应B集合里的一个样本y;同时能找到一个映射g,让B里的某一个样本只对应A里的某一个样本。其中,f,g,A,B毫无关系,可以得到A的集合数量等于B的集合数量。

卡特兰数

卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。其前几项为:
1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 47 7638700,
1767263190, 6564120420, 24466267020, 91482563640,
343059613650, 1289904147324, 4861946401452,...

卡特兰数公式

k(0)= 1,k(1)= 1时,如果接下来的项满足:
k(n)= k(0) k(n- 1)+ k(1) k(n- 2)+ ... + k(n- 2) k(1) + k(n- 1) k(0)
或者
k(n)= c(2n,n)- c(2n, n-1)
或者
k(n)= c(2n,n)/(n + 1)
就说这个表达式,满足卡特兰数,常用的是范式1和2,3几乎不会使用到

括号模型

什么叫括号模型:左右两边括号数量相等的情况下,有多少种合法情况

括号类型的违规和违法可以转换成卡特兰数的计算。

任何一个不合法的括号序列,存在一个最短前缀,其中最短前缀的右括号数量比左括号多一个

A集合是所有不合法的情况数,B集合中,有n+1个右括号,n-1个左括号,其中所形成的所有样子统称为B集合。

任何一个不合法的A集合元素中的x,通过某个映射,都能对应到B集合中的某个元素y。

这个映射就是:从最短前缀的下一个括号开始全部取反。
在这里插入图片描述
所以,n个左括号和n个右括号不合法的数量 == n+1个右括号和n-1个左括号形成的所有样子。

所以不合法的数量就是:一共2n个括号,选n+1个右括号。

k(n)= c(2n,n)- c(2n, n-1)

n个左括号和n个右括号的合法数量:

一共2n个括号,选n个括号放左括号 减去 一共2n个括号,选n+1个括号放右括号

或者

一共2n个括号,选n个括号放左括号 减去 一共2n个括号,选n-1个括号放左括号
在这里插入图片描述

卡特兰数相关应用

数字进出栈的方式

n个数字要进栈,一定要进n个数,出n个数,一共有多少进出栈的方式?

公司股票走势问题

假设某个公司股票的波动和走势只有两种情况,要么是往上45度,要么就是往下45度。问多少次交易过后,不会跌到X轴以下。
在这里插入图片描述

二叉树的组成方式

一共有N个无差别的结点,有多少种组成二叉树的方式?
在这里插入图片描述
在这里插入图片描述

等势(希尔伯特旅馆)

整数跟偶数的数量一样多?
任何一个整数*2都是偶数,任何一个偶数/2都是整数,互相建立了一一映射关系,所以数量就是一样多的。

长度不一样的两条线段上面点的个数一样多?比如长度为5和长度为10的两条线段上面的点的个数一样多?
在这里插入图片描述
长度为0的线段会有无数个点?
在这里插入图片描述

相关文章
|
20天前
|
人工智能 算法 搜索推荐
Geo优化:两大核心+四轮驱动评分体系深度解析
“双核四驱”Geo优化体系,以人性化内容与交叉验证为核心,融合E-E-A-T、结构化表达、关键词策略及权威引用,构建AI时代可量化的内容质量评分模型,提升信任度与获客效能。
144 1
|
存储 弹性计算 Linux
阿里云服务器实例规格CPU内存带宽系统盘等配置选择注意事项
在购买阿里云服务器时,实例规格、CPU、内存、带宽和系统盘等配置都是重要的,合理选择这些配置不仅能够更好地满足我们的需求,提高服务器的性能和稳定性。同时还能尽可能的节约购买成本,本文将对阿里云服务器实例规格CPU内存带宽系统盘等配置选项进行详细解释,并提供一些选择建议及注意事项,以供参考。
1378 0
阿里云服务器实例规格CPU内存带宽系统盘等配置选择注意事项
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之1 - parallel seq scan
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan parallel index scan parallel index only scan
5274 0
|
Kubernetes 测试技术 数据库
详解微服务应用灰度发布最佳实践
相对于传统软件研发,微服务架构下典型的需求交付最大的区别在于有了能够小范围真实验证的机制,且交付单位较小,风险可控,灰度发布可以弥补线下测试的不足。本文从 DevOps 视角概述灰度发布实践,介绍如何将灰度发布与 DevOps 工作融合,快来了解吧~
33394 19
|
9月前
|
人工智能 编解码 测试技术
万相,开源!
万相,开源!
2350 1
|
SQL 关系型数据库 MySQL
SQL自动启动设置指南:详细步骤与技巧
在数据库管理中,确保SQL服务能够自动启动对于保持数据服务的连续性和稳定性至关重要
1002 0
|
数据可视化 JavaScript API
鸿蒙低代码可视化ArkUI代码生成器
鸿蒙低代码可视化ArkUI代码生成器
456 0
|
安全 Java Linux
如何实现无公网IP及服务器实现公网环境企业微信网页应用开发调试
如何实现无公网IP及服务器实现公网环境企业微信网页应用开发调试
425 2
|
网络协议 数据库 数据安全/隐私保护
|
存储 编解码 Android开发
Flutter笔记:使用相机
Flutter笔记:使用相机
1259 0