def get_binary_trees(num):
if num < 2:
return 1
num -= 1 #root
result = 0
for lefts in range(num+1):
result += get_binary_trees(lefts) * get_binary_trees(num - lefts)
return result
if __name__ == '__main__':
for num in range(0,10+1):
print(num,get_binary_trees(num))
D:\Anaconda\python.exe D:/AI20/06_codes/deeplearning_20/p24_binary_tree.py
0 1
1 1
2 2
3 5
4 14
5 42
6 132
7 429
8 1430
9 4862
10 16796
Process finished with exit code 0