二叉树
抱着键盘入土
自己的未来掌握在自己的手里,只有自己对自己的未来负责,未来才会不至于残忍的对待你,今天的你如果戏弄了你自己,那么未来同样也会戏弄你!!!!
展开
-
哈夫曼树
/* 哈夫曼树 最优二叉树 严格二叉树 正则二叉树*/#include <iostream>#include <stack>using namespace std;typedef struct node{ int value ; struct node *left,*right,*father;}HFM;void ...原创 2019-06-12 15:06:06 · 245 阅读 · 0 评论 -
红黑树 RBT
/*红黑树(颜色平衡) 时间复杂度为 log2n 向下取整 红黑树的性质 1:每一个节点的颜色必须是红色或者是黑色的 2:根节点必须是黑色的 3:没有两个红色的孩子为父子关系 4:终端节点可以认为是黑色的(黑哨兵) 5:从树中的任意的节点出发到达所有可以到到达的终端节点的所有路径上的黑界点的数目必须是相同...原创 2019-06-13 12:22:21 · 272 阅读 · 0 评论 -
二叉树(性质/顺序存储与先、中、后序遍历)
/*二叉树的相关实现 ------顺序表存储二叉树的性质 1:二叉树k层含有的节点数为 2^k-1 (k从一开始计数) 2:为k层的二叉树最多含有的节点数是 2^(k-1) (k从一开始计数) 3:对于任意的二叉树而言 都有n0 = n2+1 (n0表示出度为为0的节点,n2表示出度为2的节点) 证明: 求二叉树的总的节点数 ...原创 2019-06-07 21:46:32 · 580 阅读 · 0 评论 -
二叉树的深度/广度遍历
/*二叉树的相关实现 ------顺序表存储二叉树的性质 1:二叉树k层含有的节点数为 2^k-1 (k从一开始计数) 2:为k层的二叉树最多含有的节点数是 2^(k-1) (k从一开始计数) 3:对于任意的二叉树而言 都有n0 = n2+1 (n0表示出度为为0的节点,n2表示出度为2的节点) 证明: 求二叉树的总的节点数 ...原创 2019-06-07 22:05:14 · 144 阅读 · 0 评论 -
按层创建二叉树(含二叉树的深度遍历和广度遍历)
/* 层次创建二叉树*/#include <iostream>#include <queue>using namespace std;typedef struct node{ char value; struct node *left; struct node *right;}CTree;/*层次创建二叉树*/void ...原创 2019-06-08 16:18:11 · 482 阅读 · 0 评论 -
二叉树的非递归遍历(前中后序)
/*二叉树的非递归遍历 先序 中序 后序*/#include <iostream>#include <stack>using namespace std;typedef struct node{ int value; struct node* left,*right;}Tree;/*使用递归(先序)创建二叉树*/void C...原创 2019-06-09 11:53:47 · 259 阅读 · 0 评论 -
排序二叉树(BST)
/* 排序二叉树 BST 时间复杂度为 LOG n 2*/#include <iostream>#include <stack>using namespace std;typedef struct node{ int value; struct node *left,*right;}...原创 2019-06-09 12:59:02 · 592 阅读 · 0 评论 -
平衡二叉树(AVl)
/* 平衡二叉树 AVL AVL树的原理是左右高度差不大于1*/#include <iostream>using namespace std;typedef struct node{ char value; struct node *left,*right,*father;}AVL;void Create(AVL* &...原创 2019-06-11 10:14:41 · 194 阅读 · 0 评论