二叉树
二叉树
成长的小牛233
一个很菜,仍然热爱技术热爱生活的程序猿
展开
-
线索二叉树
一、线索二叉树的原理 通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有2n个链域,非空链域为n-1个,但其中的空链域却有n+1个。如下图所示。 因此,提出了一种方法,利用原来的空链域存放指针,指向树中其他结点。这种指针称为线索。 记ptr指向二叉链表中的一个结点,以下是建立线索的规原创 2016-04-14 20:34:59 · 1364 阅读 · 0 评论 -
二叉树的前中后遍历
#include#includeusing namespace std;typedef struct BTtree{ char ch; BTtree *l,*r;};void Create_tree(BTtree *&tree){ char c; cin>>c; if(c=='#') { tree=NULL; return ;原创 2016-11-14 15:21:23 · 419 阅读 · 0 评论 -
树结构练习——排序二叉树的中序遍历
树结构练习——排序二叉树的中序遍历Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值 (2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的原创 2016-12-02 02:23:26 · 503 阅读 · 0 评论 -
sdut 二叉排序树
二叉排序树Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;原创 2016-12-02 02:35:09 · 580 阅读 · 0 评论 -
判断两颗棵二叉树是否相等
int CompTree(TreeNode *tree1, TreeNode *tree2){bool isTree1Null = (tree1 == NULL);bool isTree2Null = (tree2 == NULL);//其中一个为NULL,而另一个不为NULL,肯定不相等if (isTree1Null != isTree2Null)return 1;//两个都为NU原创 2016-11-23 15:34:43 · 1263 阅读 · 0 评论 -
平衡二叉树模板
#include #include #include #include using namespace std;struct node{ int ndata; //记录关键字数值 node *l,*r; int nheight; //平衡因子};int height(node* p) //返回树p的深原创 2016-12-21 07:43:42 · 701 阅读 · 0 评论 -
手把手教你写平衡二叉树
因为上BST课的时候睡觉睡过了结果。。。,后者折腾了一个下午才写了出来,感谢http://blog.chinaunix.net/uid-24948645-id-3913917.html博客的详细解析,但是上面的不足之处在于代码是伪代码,基本实现不了,然后自己做了修改,改成c++的写法。AVL树平衡二叉树数据结构AVL树是最先发明的自平衡二叉查找算法,是平衡二叉树的一种。在A原创 2016-12-16 15:33:35 · 4088 阅读 · 9 评论