共 6 篇文章 |
|
二叉树前序,中序,后序遍历详解。首先我想先改变这几个遍历的名字(前根序遍历,中根序遍历,后根序遍历);2.中根序遍历:先遍历左子树,然后遍历根结点,最后遍历右子树。已知一棵二叉树的前根序序列和中根序序列,构造该二叉树的过程如下:1. 根据前根序序列的第一个元素建立根结点;已知一棵二叉树的后根序序列和中根序序列,构造该二叉树... 阅7448 转12 评0 公众公开 16-09-11 21:50 |
二叉树系列(1)已知二叉树的中序遍历和前序遍历,如何求后序遍历。假设有棵树,长下面这个样子,它的前序遍历,中序遍历,后续遍历都很容易知道。现在,假设仅仅知道前序和中序遍历,如何求后序遍历呢?比如,已知一棵树的前序遍历是”GDAFEMHZ”,而中序遍历是”ADEFGHMZ”应该如何求后续遍历?在前序遍历中,一定是先把root和root的所有左子树... 阅314 转2 评0 公众公开 16-09-11 21:49 |
阅1667 转6 评0 公众公开 16-09-11 21:40 |
if(vec[cur]->left) vec.push_back(vec[cur]->left);//表示该层的第一个元素 int end = 0; //表示该层的最后一个元素 int pos_end = 0; //表示目前访问的元素存放的位置 while(beg <= end) { if(a[beg]->m_pLeft != NULL) a[++pos_end] = a[beg]->m_pLeft; if(a[beg]->m_pRight != NULL) a[++pos_end] = a[beg]->m_pRight... 阅36 转0 评0 公众公开 16-09-11 21:39 |
[cpp] view plain copy void print_by_level_2(Tree T) { deque<tree_node_t*> q_first, q_second;[cpp] view plain copy void print_by_level_3(Tree T) { vector<tree_node_t*> vec;if (vec[cur]->lchild) vec.push_back(vec[cur]->lchild);if (vec[cur]->rchild) vec.pus... 阅28 转0 评0 公众公开 16-09-11 21:38 |