I.graph #include <iostream> #include <vector> using namespace std; vector<vector<,,,,},{,-,,,},{,,-,,},{,,,-,},{,,,,-}}; vector<int> toposort(vector<vector<int>> graph){ vector<int> res; auto n=graph.size(),k=n; v…
二叉树(Binary Tree)是最简单的树形数据结构,然而却十分精妙.其衍生出各种算法,以致于占据了数据结构的半壁江山.STL中大名顶顶的关联容器--集合(set).映射(map)便是使用二叉树实现.由于篇幅有限,此处仅作一般介绍(如果想要完全了解二叉树以及其衍生出的各种算法,恐怕要写8~10篇). 1)二叉树(Binary Tree) 顾名思义,就是一个节点分出两个节点,称其为左右子节点:每个子节点又可以分出两个子节点,这样递归分叉,其形状很像一颗倒着的树.二叉树限制了每个节点最多有两个子节…
Sept. 22, 2015 学一道算法题, 经常回顾一下. 第二次重温, 决定增加一些图片, 帮助自己记忆. 在网上找他人的资料, 不如自己动手. 把从底向上树的算法搞通俗一些. 先做一个例子: 9/22/2015 Go over one example to build some muscle memory about this bottom up, O(1) solution to find the root node in subtree function. Sorted List: 1…
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 confused what "{1,#,2…
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example,Given n = 3, there are a total of 5 unique BST's. 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3 Tree Dynamic Programming     如果集合为空,只有一种BST,即空树…
Unique Binary Search Trees II 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 \      …
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example,Given n = 3, there are a total of 5 unique BST's. 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3 Summary: dynamic programming int numTrees(int n…
在写binary search时对于mid的计算我最开始使用的是 mid = (low + high)/2; 后来看到在很多的实现为 mid = low + (high - low)/2; 想了一下两种实现貌似没什么差别啊,后来无意看到g9博客上的一篇文章,备份一下: http://blog.csdn.net/g9yuayon/article/details/772382 这是Joshua Bloch(Effective Java的作者)在google blog上发的帖子.在说这个帖子之前,不得…
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example,Given n = 3, there are a total of 5 unique BST's. 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3 注意:二分查找树的定义是,左子树节点均小于root,右子树节点均大于root!不要想当然地将某…
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example,Given n = 3, there are a total of 5 unique BST's. 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3 Tree Dynamic Programming   Solution 1:  递归 clas…