摘要: BST的查找非常简单,插入是基于查找进行的,有一点需要注意的是插入一定是称为叶子节点的孩子节点。删除稍微麻烦一点,要分情况讨论,当要删除的节点有两个孩子节点时,首先寻找要删除节点p的左子树的最大的节点s,然后交换p和s的数值,调整s父节点的指向,删除s节点。 阅读全文
posted @ 2017-05-17 16:06 wxquare 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 对于一个含有n个数的有序数组1~N,能够产生多少种不同结果的二叉搜素树BST? 如何生成这些不同结构的BST? 有序数组如何生成平衡二叉搜索树? 1 class Solution { 2 public: 3 int numTrees(int n) { 4 int* dp = new int[n+1]; 5 dp[0] = 1; 6 ... 阅读全文
posted @ 2017-05-17 10:23 wxquare 阅读(593) 评论(0) 推荐(0) 编辑