面试题整理-卡特兰数问题收集
2012-11-08 14:15
218 查看
首先说一下卡特兰数列,
H(n) = C(n, 2n) / (n+1) = (2n)!/(n!n!(n+1))
H(3) = 5;
题目1:
矩阵的乘法添加括号我们知道,A*B可以,但是并不表示B*A也可以。假设有N+1个矩阵相乘,不能交换次序。只能用添加括号的方法来修改乘积的次序。那么有多少种添加括号的方法。
H(n)种。
题目2:
出栈次序问题,一个栈,其进栈的序列是从1~n,那么有多少种不同的出栈序列。
解:n 个元素进栈和出栈,总共要经历 n 次进栈和 n 次出栈。这就相当于对这 2n 步操作进行排列。
那么模型如下:对角线将以n*n正方形网格分成两部分,只留下包含对角线在内的下半部分。由于只能向右走和向下走,可以把向右走认为是在出栈,那么从左上角走到右下角,只需要H(n)步。因为只需要选择,在哪些地方向走右罢了。而总共肯定是需要向右走n步的。
题目3:
2n个人入场,n个人身上有10块,n个人身上有5块。票价是5块。那么如果要保证一直可以找零,那么入场的次序有多少种?
当有10块的人入场的时候,可以把他们看成是出栈,而5块的人入场当成入栈。则问题变得与出栈次序一样了。
题目4:
把1和0组合成一个序列,1的数目与0的数目都是一样的,为n个。有多少种排序使得从左向右扫描的时候,1的数目一直对0保持优势?
H(n)
题目5:
对于多边形三角形切分的时候,有多少种切分方法。
再如在圆上选择2n个点,将这些点成对连接起来使得所得到的n条线段不相交的方法数
H(n) = C(n, 2n) / (n+1) = (2n)!/(n!n!(n+1))
H(3) = 5;
题目1:
矩阵的乘法添加括号我们知道,A*B可以,但是并不表示B*A也可以。假设有N+1个矩阵相乘,不能交换次序。只能用添加括号的方法来修改乘积的次序。那么有多少种添加括号的方法。
H(n)种。
题目2:
出栈次序问题,一个栈,其进栈的序列是从1~n,那么有多少种不同的出栈序列。
解:n 个元素进栈和出栈,总共要经历 n 次进栈和 n 次出栈。这就相当于对这 2n 步操作进行排列。
那么模型如下:对角线将以n*n正方形网格分成两部分,只留下包含对角线在内的下半部分。由于只能向右走和向下走,可以把向右走认为是在出栈,那么从左上角走到右下角,只需要H(n)步。因为只需要选择,在哪些地方向走右罢了。而总共肯定是需要向右走n步的。
题目3:
2n个人入场,n个人身上有10块,n个人身上有5块。票价是5块。那么如果要保证一直可以找零,那么入场的次序有多少种?
当有10块的人入场的时候,可以把他们看成是出栈,而5块的人入场当成入栈。则问题变得与出栈次序一样了。
题目4:
把1和0组合成一个序列,1的数目与0的数目都是一样的,为n个。有多少种排序使得从左向右扫描的时候,1的数目一直对0保持优势?
H(n)
题目5:
对于多边形三角形切分的时候,有多少种切分方法。
再如在圆上选择2n个点,将这些点成对连接起来使得所得到的n条线段不相交的方法数
相关文章推荐
- linux时间片及线程调度相关的问题 收集整理
- FlashBuilder环境下使用Starling出现的问题收集整理
- TCP态迁移,CLOSE_WAIT & FIN_WAIT2 的问题[收集整理]
- MVC4 网站发布(整理+部分问题收集和解决方案)
- oracle的license和正版使用问题(收集整理)
- 员工综合素质面试题整理和收集
- C# 超高面试题收集整理
- FLASH常见问题收集整理
- TCP态迁移,CLOSE_WAIT & FIN_WAIT2 的问题[收集整理]
- php面试题收集与整理(一)
- 面试趣味智力问题收集与整理
- Java面试题收集整理一
- php面试题收集与整理(一)
- C# and .Net 常见笔试面试题(收集整理)
- [置顶] 色色整理的PHP面试题,能答对找7/8k应该不成问题
- MVC4 网站发布(整理 + 部分转载 + 部分问题收集和解决方案)
- TCP态迁移,CLOSE_WAIT & FIN_WAIT2 的问题[收集整理]
- iOS项目开发中的知识点与问题收集整理
- BAT大厂Android面试题Java部分问题和答案整理(一)
- 100道Java面试题收集整理及参考答案