码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 卡特兰数(Catalan)的应用场景


    文章目录

    • 卡特兰数
    • 应用场景


    卡特兰数

    卡特兰数的推导:
    卡特兰数(Catalan)
    在这里插入图片描述

    在这里插入图片描述

    应用场景

    1. 假设有n个左括号和n个右括号,他们有多少种合法的组合。
      一共有C(2n,n)种组合,假设这些组合为A集合。
      对于不合法的组合,一定有一个前缀,其右括号数量比左括号数量多1个,比如())(()中前缀()),而后缀一定是右括号比左括号少1一个((),我们将后缀反转(左括号变右括号,右括号变左括号),这样就变成了整个组合中右括号为n+1,左括号为n-1。反转后一共有C(2n,n-1)种组合,假设他们为B集合。
      A中不合法的组合可以通过反转推出B集合中所有的情况,而B集合也可以通过反转推出A中不合法的组合。因此A中不合法的数量就等于C(2n,n-1)。
      综上,合法的组合一共有C(2n,n)-C(2n,n-1)种。

    2. n个数有多少种合法的进出栈方式。
      任何一个前缀出栈数量一定是少于进栈数量,因此这个问题就转化成了上面的括号问题。其组合方式也是C(2n,n)-C(2n,n-1)种。

    3. 一共有n个节点,有多少种组成二叉树的方式。
      有0个节点,方式为空树,组成二叉树的方式1种。
      有1个节点,树为它自己,1种。
      有2个节点,根+左或者根+右,2种。
      有n个节点,选一个节点为头节点;头节点左边0个节点,右边n-1个节点;头结点左边1个节点,右边n-2个节点;头结点左边2个节点,右边n-3个节点。。。 可以推出k(n)=k(0)*k(n-1)+k(1)*k(n-2)+....+k(n-2)*k(1)+k(n-1)*k(0),也就是卡特兰数C(2n,n)-C(2n,n-1)种组合方式。

  • 相关阅读:
    springboot simple (6) springboot thrift
    Python网页开发神器fac 0.2.8、fuc 0.1.28新版本更新内容介绍
    Stimulsoft Reports报告工具,Stimulsoft创建和构建报告
    节约软件开发成本,关键在这儿。
    NumPy 均匀分布模拟及 Seaborn 可视化教程
    shell脚本学习笔记2
    SpringSecurity以及Oauth2(笔记)
    cuda系列详细教程-花絮
    vue的v-for中循环修改变量(this.xxx)的给子组件传值覆盖重复的问题
    在 Node.js 中发出 HTTP 请求的 5 种方法
  • 原文地址:https://blog.csdn.net/qq_52670477/article/details/125559071
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号