题意:给定一棵二叉树,返回按层遍历的结果
思路1:bfs,定义一个新的struct,记录指针向节点的指针和每个节点所在的层
复杂度1:时间O(n),空间O(n)
思路2:dfs
递归函数:
void levelOrder(TreeNode *root, int level, vector<vector >&result)
表示把根为root的树按层存放在result中,其中level表示当前的层数
复杂度2:时间O(n),空间O(n)
相关题目:...
分类:
其他好文 时间:
2014-05-15 14:46:06
阅读次数:
355
第三道树的题目,我还是不会,我擦,怎么递归算法还是不能很好理解。看来还得好好研究下递归算法。题目:求一棵树的最大深度。思路:递归地求取左子树最大深度
和 右子树最大深度,返回较大值即为 整棵树的 最大深度。代码:public int maxDepth(TreeNode root) { ...
分类:
其他好文 时间:
2014-05-14 23:07:14
阅读次数:
373
必须承认,一开始这道题我是不会做的,因为我心目中的树遍历只能用一个节点发起,多么天真而无知。
我想不通怎样同时遍历两颗子树,因为根节点一定是一个啊。可是,作为对称轴上的它,从一开始就不应该被考虑,他的左右孩子,不是很自然的形成了两个遍历的入口吗?可见无知是多么的可怕。
bool helper(TreeNode *left, TreeNode *right){
if(left == NU...
分类:
其他好文 时间:
2014-05-09 02:18:26
阅读次数:
223
有了上面的教训,这道题就简单多了,什么时候该更新pre是明确的了,倒是有个细节,二叉搜索树中是不允许有相等节点的,所以题目的要求用黑体字标明了。写的时候注意就可以了。
class Solution {
public:
TreeNode *pre = NULL;
bool isValidBST(TreeNode *root) {
if(root == NULL) ...
分类:
其他好文 时间:
2014-05-09 01:33:43
阅读次数:
269
private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.Button==MouseButtons.Right)
{
TreeNode tn=treeView1.GetNodeAt(e.X,e.Y);
if(tn!=null)treeView1.SelectedNode...
分类:
其他好文 时间:
2014-05-08 16:24:44
阅读次数:
308
很简单的题目,在想是不是后面就不要更这么简答的了,大家都会写,没人看啊。层序遍历的基础上,加了保存每一层,加了从下往上输出,就是一个vector和一个stack的问题嘛,无他,但手熟尔。
class Solution {
public:
vector > levelOrderBottom(TreeNode *root) {
vector > res;
if...
分类:
其他好文 时间:
2014-05-08 11:17:46
阅读次数:
268
好,二叉搜索树粉末登场,有关他的问题有这么几个,给你一个n,怎样求所有的n个节点的二叉搜索树个数?能不能把所有的这些二叉搜索树打印出来?
这道题倒不用考虑这么多,直接转就行了,我用的思想是分治,每次找到一半的位置,分离出中间节点,作为新子树的根节点,然后递归构造前半部分和后半部分。
class Solution {
public:
TreeNode *sortedListToBST(L...
分类:
其他好文 时间:
2014-05-08 11:07:14
阅读次数:
266
public class Tree { TreeNode last = null; TreeNode
root = null; public Tree(int value){ root = createNode(value); } ...
分类:
其他好文 时间:
2014-05-08 01:04:08
阅读次数:
349
这个代码其实自己花了很长的时间去理解,渐渐的有所明白了一点。#include #include
typedef enum { Link , Thread } PointTag; //Link表示指针,Thread表示线索typedef struct
treenode ...
分类:
其他好文 时间:
2014-05-07 09:07:36
阅读次数:
262
树视图TreeView 属性及方法
属性
说明
Nodes
获取分配给树视图控件的树节点集合
PathSeparator
获取或设置树节点路径所使用的分隔符串
SelesctedNode
获取或设置当树节点选定时所使用的图像列表索引值
ShowNodeToolTips
获取或设置一个值,用以指示树图中的树节点是...
分类:
其他好文 时间:
2014-05-07 04:28:18
阅读次数:
554