码迷,mamicode.com
首页 >  
搜索关键字:二叉    ( 13085个结果
C++基础:C++标准库之set简介
1、综述set是C++STL中众多的Container(容器)之一,用于储存数据并且能从一个数据集合中取出数据,它的每个元素的值必须惟一。set内部通过自建红黑树(一种非严格意义上的平衡二叉树)实现,可以对数据自动排序。构造set集合主要目的是为了快速检索,不可直接去修改键值。2、set的常见操作首...
分类:编程语言   时间:2014-05-23 09:06:32    阅读次数:338
查找(一)史上最简单清晰的红黑树讲解
查找(一) 我们使用符号表这个词来描述一张抽象的表格,我们会将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取决于不同的应用。 符号表中可能会保存很多键和很多信息,因此实现一张高效的符号表也是一项很有挑战性的任务。 我们会用三种经典的数据类型来实现高效的符号表:二叉查找数、红黑树、散列表。 二分查找 我们使用有序数组存...
分类:其他好文   时间:2014-05-22 10:33:13    阅读次数:403
【剑指offer】从上向下打印二叉树
剑指offer上的第23题,实际上就是考察二叉树的层序遍历,具体思想可以参考这里。 题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行一个整数n(1<=n<=1000, :n代表将要输入的二叉树元素的个数(节点从1开始编号)。接下来一行有n个数字,代表第i个二叉树节点的元素的值。接下来有n行,每行有一个字母Ci。 Ci=’d’表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子编号。 Ci=’l’表示第i个...
分类:其他好文   时间:2014-05-22 08:29:03    阅读次数:306
【坐在马桶上看算法】算法10:二叉树
《啊哈!算法》二叉树是一种特殊的树。二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树。更加严格的递归定义是:二叉树要么为空,要么由根结点、左子树和右子树组成,而左子树和右子树分别是一棵二叉树。 下面这棵树就是一棵二叉树。
分类:其他好文   时间:2014-05-22 03:14:17    阅读次数:148
leetcode Populating Next Right Pointers in Each Node
/**根据完美二叉树或者非完美二叉树都可以,利用左右子树的根节点的next节点信息来连接next*/public void connect(TreeLinkNode root){ if(root==null) return; //利用父节点的next...
分类:其他好文   时间:2014-05-22 03:03:39    阅读次数:183
二叉树中总分支数与总结点数的关系
对任何一个二叉树,若齐叶子结点数为n0,度为2的结点数为n2,则n0=n2+1。证明如下:设一颗二叉树上叶子结点数为n0,单分支结点数为n1,双分支结点数为n2,则总结点数为:n0+n1+n2。而一颗二叉树中,所有结点的分支数(即度数)应等于单分支结点数加上双分支结点数的两倍,即总分支数=n1+2n...
分类:其他好文   时间:2014-05-22 01:07:19    阅读次数:200
数据结构-二叉搜索树的后序遍历序列
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字互不相同分析:由后序遍历可以知道最后一个数字是树的根节点,而二叉搜索树的性质可以知道其左边的节点值小于根节点的值,右边的节点值大于根节点的值。由此递归。/*剑指...
分类:其他好文   时间:2014-05-22 00:36:31    阅读次数:305
Heap sort
经典排序算法 - 堆排序Heap sort堆排序有点小复杂,分成三块第一块,什么是堆,什么是最大堆第二块,怎么将堆调整为最大堆,这部分是重点第三块,堆排序介绍第一块,什么是堆,什么是最大堆什么是堆这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。堆可以视为一棵完全的二叉树,完全二叉树的一个...
分类:其他好文   时间:2014-05-22 00:05:09    阅读次数:319
各种排序方法的时间复杂度、空间复杂度和稳定性统计表
排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序O(n2)O(n2)稳定O(1)快速排序O(n2)O(n*log2n)不稳定O(log2n)~O(n)选择排序O(n2)O(n2)稳定O(1)二叉树排序O(n2)O(n*log2n)不一定O(n)插入排序O(n2)O(n2)稳定O(1)堆排序O...
分类:其他好文   时间:2014-05-21 23:31:35    阅读次数:310
【坐在马桶上看算法】算法10:二叉树
二叉树是一种特殊的树。二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树。更加严格的递归定义是:二叉树要么为空,要么由根结点、左子树和右子树组成,而左子树和右子树分别是一棵二叉树。下面这棵树就是一棵二叉树..
分类:其他好文   时间:2014-05-21 01:29:57    阅读次数:216
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!