先序序列为a、b、c、d的不同二叉树的个数是多少(卡特兰数)
生活随笔
收集整理的這篇文章主要介紹了
先序序列为a、b、c、d的不同二叉树的个数是多少(卡特兰数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
除了邏輯清晰的挨個畫出來之外,還有一種方法需要大家牢記!
因為前序序列和中序序列可以唯一地確定一棵二叉樹,并且題目已經給出了先序序列,所以我們只需要知道由該先序序列可以確定多少個中序序列即可,確定多少個中序序列就是可以確定多少棵二叉樹!
那么,問題來了,由一個先序序列如何確定有多少個中序序列呢?這就有兩個“公式”需要大家去牢記了!
1、先序序列和中序序列的關系為:以先序序列入棧,則出棧序列必為中序序列。
?2、一個入棧順序可以確定的出棧順序為?C(2n,n) / (n+1)(卡特蘭數)。
?所以答案就清楚了,如果以abcd的順序入棧,將有14種出棧順序,也就是可以確定14個中序序列,即可以確定14個不同的二叉樹。
總結
以上是生活随笔為你收集整理的先序序列为a、b、c、d的不同二叉树的个数是多少(卡特兰数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二叉树的先序线索化、中序线索化、后序线索
- 下一篇: 树和森林转二叉树,二叉树无右孩子(或右指