多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

生成所有的BST

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

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); }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美三级在线看 | 欧美日韩中文 | jizz欧美大全 | 日韩精品手机在线 | 精品一区二区久久 | 手机在线看片福利盒子 | 欧美亚洲国产片在线观看 | 国产xx在线观看 | 亚洲欧美日韩小说 | 一级美国乱色毛片 | jiz欧美高清 | 欧美激情videossex护士 | 亚洲丰满熟妇毛片在线播放 | 午夜宅男网站 | 狂野欧美性猛交xxxx | 久久精品国产在热久久2019 | av在线影院| 亚洲欧美日韩网站 | 国产一区曰韩二区欧美三区 | 国产精品亚洲片夜色在线 | 亚洲精品欧美精品国产精品 | 最新欧洲大片免费在线看 | 高清无遮挡在线观看 | 国产女人18毛片水 | free性德国丰满hd | 香港黄页精品视频在线 | 亚洲www视频 | 日韩一区二区不卡中文字幕 | 久久天天躁狠狠躁夜夜2020一 | 欧美18vide0sex性欧美在线 | 成人精品一区二区久久 | 插插网站 | 日本无卡码免费一区二区三区 | 国产精品亚洲片在线观看麻豆 | 伊人99在线 | 久久精品一区二区 | 欧美日韩精品国产一区二区 | 欧美女人天堂 | 欧美国产精品不卡在线观看 | 中文字幕资源在线 | 欧美性猛交乱大交xxxx |