数据结构问题 由4个节点可以构造出多少种不同的二叉树? 由N个节点可以构造出几个不同的二叉排序树
\u75314\u4e2a\u7ed3\u70b9\u53ef\u4ee5\u6784\u9020\u51fa\uff08\uff09\u79cd\u4e0d\u540c\u5f62\u6001\u7684\u4e8c\u53c9\u6811\u56db\u4e2a\u8282\u70b9\u53ef\u4ee5\u6784\u621014\u79cd\u3002
\u516c\u5f0f\uff1aB[n] = C[n,2n] / (n+1)
\u5c06n=4\u5e26\u5165\u4e0a\u8ff0\u516c\u5f0f\uff0c\u53ef\u4ee5\u5f97\u51fa\uff0c\u7ec4\u5408\u6570C[n,2n]\u7684n\u4e3a\u4e0a\u6807\uff0c2n\u4e3a\u4e0b\u6807\uff0c\u5c06n=4\u4ee3\u5165\u516c\u5f0f\uff0cB[4] = C[4,8] / (4+1) = 8! / (4! * 4! * 5) = 8*7*6/(4*3*2) = 14\u3002
\u9644: 4\u4e2a\u7ed3\u70b9\u5bf9\u5e94\u768414\u79cd\u5f62\u6001\u7684\u4e8c\u53c9\u6811
# # # # # / / / / / # # # # # / / / \ \ \ # # # # # # / \ \ /# # # #
# # # # # \ \ \ \ \ # # # # # \ \ / \ / / # # # # # # \ / / \# # # #
# # # # / \ / \ / \ / \ # # # # # # # # / \ / \# # # #
\u6269\u5c55\u8d44\u6599
\u4e8c\u53c9\u6811\u4e0d\u662f\u6811\u7684\u4e00\u79cd\u7279\u6b8a\u60c5\u5f62\uff0c\u5c3d\u7ba1\u5176\u4e0e\u6811\u6709\u8bb8\u591a\u76f8\u4f3c\u4e4b\u5904\uff0c\u4f46\u6811\u548c\u4e8c\u53c9\u6811\u6709\u4e24\u4e2a\u4e3b\u8981\u5dee\u522b\uff1a
1\u3001\u6811\u4e2d\u7ed3\u70b9\u7684\u6700\u5927\u5ea6\u6570\u6ca1\u6709\u9650\u5236\uff0c\u800c\u4e8c\u53c9\u6811\u7ed3\u70b9\u7684\u6700\u5927\u5ea6\u6570\u4e3a2\uff1b
2\u3001\u6811\u7684\u7ed3\u70b9\u65e0\u5de6\u3001\u53f3\u4e4b\u5206\uff0c\u800c\u4e8c\u53c9\u6811\u7684\u7ed3\u70b9\u6709\u5de6\u3001\u53f3\u4e4b\u5206\u3002
\u6709N\u4e2a\u7ed3\u70b9\u7684\u5b8c\u5168\u4e8c\u53c9\u6811\u5404\u7ed3\u70b9\u5982\u679c\u7528\u987a\u5e8f\u65b9\u5f0f\u5b58\u50a8\uff0c\u5219\u7ed3\u70b9\u4e4b\u95f4\u6709\u5982\u4e0b\u5173\u7cfb\uff1a\u82e5I\u4e3a\u7ed3\u70b9\u7f16\u53f7\u5219 \u5982\u679cI>1\uff0c\u5219\u5176\u7236\u7ed3\u70b9\u7684\u7f16\u53f7\u4e3aI/2\uff1b\u5982\u679c2*I<=N\u3002
\u5219\u5176\u5de6\u5b69\u5b50\uff08\u5373\u5de6\u5b50\u6811\u7684\u6839\u7ed3\u70b9\uff09\u7684\u7f16\u53f7\u4e3a2*I\uff1b\u82e52*I>N\uff0c\u5219\u65e0\u5de6\u5b69\u5b50\uff1b\u5982\u679c2*I+1N\uff0c\u5219\u65e0\u53f3\u5b69\u5b50\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-\u4e8c\u53c9\u6811
N\u4e2a\u8282\u70b9\u80fd\u591f\u6784\u6210\u7684\u4e0d\u540c\u5f62\u72b6\u7684\u4e8c\u53c9\u6811\u7684\u79cd\u7c7b\u4e3aC(2n,n)/(n+1)\uff0c\u5176\u4e2dC\u662f\u6307\u6392\u5217\u7ec4\u5408\u91cc\u9762\u7684\u7ec4\u5408\u6570
\u53ef\u4ee5\u7531
f(0) = f(1) = 1
f(n) = f(n-1)f(0) + f(n-2)f(1) + ... + f(0)f(n-1) \u63a8\u5bfc\u51fa\u6765
\u8fd9\u91cc\u8fd8\u63d0\u5230\u4e86\u6392\u5e8f\u6811\uff0c\u4f46\u662f\u6211\u770b\u4e0d\u51fa\u6392\u5e8f\u5728\u8fd9\u91cc\u6709\u4ec0\u4e48\u4f5c\u7528\u3002\u4e8c\u53c9\u6811\u7684\u5f62\u72b6\u5b9a\u4e0b\u6765\u7684\u8bdd\uff0c\u5bf9\u4e8e\u6307\u5b9a\u7684N\u4e2a\u6570\uff0c\u5f80\u91cc\u9762\u586b\u7684\u65b9\u5f0f\u4e5f\u5c31\u5b9a\u4e0b\u6765\u4e86\u3002\u6240\u4ee5\u7b54\u6848\u5e94\u8be5\u662f\u4e00\u6837\u7684
由4个节点可以构造出14种不同的二叉树。二叉树节点公式:B[n] = C[n,2n] / (n+1)。二叉树组合数C[n,2n]的n为上标,2n为下标,将n=4代入公式,可以得出,B[4] = C[4,8] / (4+1) = 8! / (4! * 4! * 5) = 8*7*6/(4*3*2) = 14。
扩展资料:
有N个结点的二叉树各结点如果用顺序方式存储,则结点之间有如下关系:
1、若I为结点编号则 如果I>1,则其父结点的编号为I/2。
2、如果2*I<=N,则其左孩子(即左子树的根结点)的编号为2*I;若2*I>N,则无左孩子。
3、如果2*I+1<=N,则其右孩子的结点编号为2*I+1;若2*I+1>N,则无右孩子。
4、设有i个枝点,I为所有枝点的道路长度总和,J为叶的道路长度总和J=I+2i。5、对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1。
看了你上面的理解,你可能认为1节点和2、3、4节点不同,其实4个节点是相同的。例如:
1 2
\ \
3 4
\ \
2 1
\ \
4 3
这两个是相同的,因为节点是相同的!所以你上面的理解有重复出现的情况,所以才会多!
看了你上面的理解,你可能认为1节点和2、3、4节点不同,其实4个节点是相同的。例如:
1
2
\
\
3
4
\
\
2
1
\
\
4
3
这两个是相同的,因为节点是相同的!所以你上面的理解有重复出现的情况,所以才会多!
扩展阅读:2024年保密观25道题 ... 安全试题扫一扫出答案 ... 中国三大数据中心在哪 ... 保密观答案25题 ... 扫一扫题目出答案 ... 国家大数据中心在哪里 ... 能拍题找答案的软件 ... 扫一扫一秒出答案 ... 保密观app全部答案2024 ...