日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 生成所有的BST

生成所有的BST

來源:程序員人生   發布時間:2015-05-11 09:01:14 閱讀次數:3224次

Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.

For example,
Given n = 3, your program should return all 5 unique BST's shown below.

1 3 3 2 1 / / / 3 2 1 1 3 2 / / 2 1 2 3

分析:對n,合法的BST有C(n,2*n)/(n+1))種.

依照后序建樹,[1,..i⑴] i [i+1,..n]先分別建好左右合法的BST,然后接到root上。

設左子樹形態有m種,右子樹有k種,那末要嘗試m*k種拼接方式。

public List<TreeNode> generateTrees(int l, int r) { List<TreeNode> list = new ArrayList<TreeNode>(); if (l > r) { list.add(null); return list; } for (int i = l; i <= r; i++) { List<TreeNode> lefts = generateTrees(l, i - 1); List<TreeNode> rights = generateTrees(i + 1, r); for (TreeNode left : lefts) { for (TreeNode right : rights) { TreeNode root = new TreeNode(i); root.left = left; root.right = right; list.add(root); } } } return list; } public List<TreeNode> generateTrees(int n) { return generateTrees(1, n); }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产一区二区在线播放视频 | 国产精品成人在线观看 | 久久人人爽爽爽人久久久 | 日皮视频在线观看 | 福利亚洲 | 国产精品区一区二区三区 | 九色jiuse| 精品午夜久久 | 精品视频一区二区三区 | www.天天干.com| 久久久久久国产精品美女 | 亚洲一区二区精品 | 免费福利视频一区二区三区 | 日韩精品区 | 久久艹精品 | 国产黄在线 | 日韩视频一区 | 亚洲精品视频二区 | 免费黄色av网站 | 加勒比在线免费视频 | 久久99久久99精品免观看粉嫩 | 亚洲一二三在线 | 精品国产一区二区三区成人影院 | 国产精品伦一区二区三级视频 | 97视频在线免费播放 | 亚洲欧洲日产v特级毛片 | 欧美精品一区二区三区视频 | 丝袜 亚洲 另类 欧美 综合 | 一区二区三区欧美在线 | 国产一区二区在线播放 | 亚洲免费视频观看 | 久久午夜视频 | 激情视频网站 | 亚洲电影在线 | 区一区二视频 | 黄色日本片 | 五月婷综合 | 日本aⅴ免费视频一区二区三区 | 久久久精品一区二区三区 | 国产精品一区一区三区 | 国产日韩精品久久 |