def numOfTreeStructure(n):
"""
n个节点 每个节点不同颜色 则一共有多少种结构
:param n:
:return:
"""
def num_structure_without_color(n):
"""
不考虑颜色一共有多少种结构
"""
if n == 0:
return 0
result = {0:1, 1: 1}
for i in range(2,n+1):
tmp = 0
for j in range(i):
tmp += result[j]*result[i-1-j]
result[i] = tmp
return result[n]
return math.factorial(n) * num_structure_without_color(n)