
数据结构-树
SoWhat1412
微信搜索【SoWhat1412】,第一时间阅读原创干货文章。人之患、在好为人师、不实知、谨慎言。点点滴滴、皆是学问、看到了、学到了、便是收获、便是进步。
展开
-
线索二叉树(Thread-Binary-Tree)
一、线索二叉树的原理 通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有2n个链域,非空链域为n-1个,但其中的空链域却有n+1个。如下图所示。 因此,提出了一种方法,利用原来的空链域存放指针,指向树中其他结点。这种指针称为线索。 记ptr指向二叉链表中的一个结点,以下是建立线索的规转载 2017-03-06 11:17:44 · 764 阅读 · 0 评论 -
Tree 笨方法实现
#include #include typedef struct BTnode { int data; struct BTnode *pLchild; struct BTnode *pRchild; }BTNode; BTNode* createBTree()//静态造链式树 { BTNode* pA =(BTNode*) malloc(si原创 2017-03-02 15:06:16 · 555 阅读 · 0 评论 -
链式Tree->二叉搜索树
#include using namespace std; typedef struct treenode { int data; struct treenode *left; struct treenode *right; }TREE_NODE;//节点 typedef struct Bstree { TREE_NODE* root;原创 2017-03-04 16:18:48 · 671 阅读 · 0 评论 -
判断二叉树是否对称
判断给定的一棵二叉树是否是对称的,以轴对称。 左右子树同时遍历,若出现不一致,则说明不对称。 struct Node { Node *left; Node *right; Node() { left = right = NULL; }; }; bool Judge(Node *leftRo原创 2017-04-09 13:36:42 · 1008 阅读 · 0 评论 -
二叉树根据前序和中序推出后续
根据前序跟中序 => 后序 #include #include #include using namespace std; struct BTreeNode { int _value; BTreeNode*_left; BTreeNode*_right; }; //解法一 BTreeNode* RebuildCode(int * PreStart, int *PreEn原创 2017-04-09 14:49:30 · 21683 阅读 · 0 评论 -
树,森林,二叉树转换
树转为二叉树 森林转化为二叉树, 先把每棵树转化为二叉树 然后整体 链接起来 二叉树转化为树 二叉树转化为森林 对于普通树跟森林 遍历只有 前序遍历跟后序遍历。原创 2017-04-02 13:31:07 · 946 阅读 · 0 评论