码迷,mamicode.com
首页 >  
搜索关键字:左右子树    ( 865个结果
Invert Binary Tree
该题比较简单,递归交换每一个节点的左右子树即可。 class Solution { public: TreeNode* invertTree(TreeNode* root) { if(root == NULL) return NULL; TreeNode* tmp = root -> left; root -> le...
分类:其他好文   时间:2015-07-14 15:46:50    阅读次数:89
哈夫曼编码算法思想总结
1构建哈夫曼树。(利用队列的数据结构,不断获取最小的两个,退出队列并使之成为新节点的左右子树。然后将新节点插入队列。如此循环……)根据用户输入的字符串,统计每个字符出现次数。设置权重。建立队列。队列中的节点是二叉树的节点(有左指针,和右指针)。建新的结点,左右指针指向队列的最后两个(那两个退出队列)...
分类:编程语言   时间:2015-07-12 23:07:38    阅读次数:335
数据结构与算法之二叉搜索树
与链表不同,树是一种非线性的数据结构。树中最常用的是二叉树,二叉树限制了子树的数量,也就是每个结点的子树至多2个,并且这两个子树是有顺序的。而二叉搜索树(二叉查找树,二叉排序树)是指根节点的关键字大于左子树的,而小于右子树,并且,左右子树也是一颗二叉搜索树。也就是说中序遍历一颗二叉搜索树,它的输.....
分类:编程语言   时间:2015-07-12 18:49:50    阅读次数:238
八:二叉搜索树的后序遍历
问题描述: 输入一个整数数组,判断该数组是不是某二叉查找树的后序遍历的结果。如果是返回true,否则返回false。 解析: 根据后序遍历的定义,如果一个序列是二叉树的后续遍历的结果,那么我们不难得出,序列的最后一个节点必定是二叉树的根节点,除了根节点外,序列中前一部分是二叉树的左子树的节点,后面一部分是二叉树的右子树的节点。同理,左右子树的遍历结果也具有一样的特点。...
分类:其他好文   时间:2015-07-10 00:29:54    阅读次数:107
七:重建二叉树(根据先序遍历(或者后序遍历)和中序遍历重建二叉树)
对于一颗二叉树,可以根据先序遍历(或者后序遍历)和中序遍历(树中不含重复的数字)重新还原出二叉树。 解析: 1. 先序遍历序列的第一个元素必定是根节点,可以由此获取二叉树的根节点。 2. 根据根节点,在中序遍历序列中查找该节点,由中序遍历的性质可知,中序遍历中该根节点左边的序列必定在根节点的左子树中,而根节点右边的序列必定在右子树中。由此可以知道先序遍历中左子树以及右子树的起止位置。 3. 找到了左右子树前序遍历和中序遍历再用同样的方法分别构建左右子树,典型的递归思想。...
分类:其他好文   时间:2015-07-09 18:00:45    阅读次数:345
二叉排序树
二叉排序树又称“二叉查找树”、“二叉搜索树”。二叉排序树:或者是一棵空树,或者是具有下列性质的二叉树:1. 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;2. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;3. 它的左、右子树也分别为二叉排序树。二叉排序树通常采用二叉...
分类:编程语言   时间:2015-07-09 13:06:54    阅读次数:121
六:二叉树中第k层节点个数与二叉树叶子节点个数
二叉树中第k层节点个数 递归解法: (1)如果二叉树为空或者k1,返回左子树中k-1层的节点个数与右子树k-1层节点个数之和 二叉树叶子节点个数 递归方式 (1)如果给定节点pRoot为NULL,则是空树,叶子节点为0,返回0; (2)如果给定节点pRoot左右子树均为NULL,则是叶子节点,且叶子节点数为1,返回1; (3)如果给定节点pRoot左右子树不都为NULL,则不是叶子节点,以pRoot为根节点的子树叶子节点数...
分类:其他好文   时间:2015-07-08 00:36:06    阅读次数:175
二叉查找树(插入、查找、遍历、删除.........)
【二叉查找树的性质】 二叉查找树是满足以下条件的二叉树: 左子树上的所有节点值均小于根节点值 右子树上的所有节点值均不小于根节点值 左右子树也都是二叉查找树 不存在两个节点的值相等...
分类:其他好文   时间:2015-07-07 22:58:11    阅读次数:222
二叉排序树
97. 二叉排序树时间限制1000 ms内存限制65536 KB题目描述二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树:若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值;若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值;左、右子树本...
分类:编程语言   时间:2015-07-07 12:24:23    阅读次数:121
重建二叉树
既然已经分别找到了左、右子树的前序遍历序列和中序遍历序列,我们可用同样的方法分别去构建左右子树。所以,接下来的事情可用递归的方法去完成。 递归代码如下: BinaryTreeNode*  Construct(int* preorder, int *inorder, int length) { if (preorder == NULL || inorder == NULL || length...
分类:其他好文   时间:2015-07-02 22:36:19    阅读次数:256
865条   上一页 1 ... 64 65 66 67 68 ... 87 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!