//二叉树的层次遍历和其深度#include #include //define _OJ_#define maxsize 100typedef struct tree1{ char data; struct tree1 *lchild; struct tree1 *rchild;} tree1, *...
分类:
其他好文 时间:
2015-11-16 15:43:16
阅读次数:
199
输入一颗二叉树,你的任务是从上到下,从左到右的顺序输出各个节点的值。每个节点都按照从根节点到它的移动序列给出(L,表示做,R表示右)。在输入中,每个节点的左括号和右括号之间没有空格,相邻节点之间用一个空格隔开。每棵树的输入用一对空括号“()”结束。
注意: 如果从根到某个节点的路径上有的节点没有在输入中给出,或者给出超过1次,应当输出 not complete ,节点个数不超过256....
分类:
其他好文 时间:
2015-08-29 11:15:14
阅读次数:
150
Queueq;
voidLevelOrder(PtrToNodeT)
{
if(T==NULL)
return;
printf("%c\n",T->Element);
if(T->Left!=NULL)
Enqueue(T->Left,q);
if(T->Right!=NULL)
Enqueue(T->Right,q);
PtrToNodep;
while(!IsEmpty(q))
{
p=Dequeue(q);
LevelOrder(p);
}
}
分类:
其他好文 时间:
2015-08-19 21:08:31
阅读次数:
135
/**?二叉树节点?*/
public?class?BTNode?{
private?char?key;
private?BTNode?left,?right;
public?BTNode(char?key)?{
this(key,?null,?null);
}
public?BTNode(ch...
分类:
编程语言 时间:
2015-07-21 22:25:38
阅读次数:
237
解题思路:
广度遍历而且要记录每一层。广度遍历利用队列实现,记录用列表实现
使用一个列队,一个列表。 列队用于记录每一层节点,列表用于存储每一层的节点...
分类:
其他好文 时间:
2015-06-03 11:59:49
阅读次数:
80
原题地址二叉树的层次遍历代码: 1 vector > levelOrder(TreeNode *root) { 2 vector > res; 3 queue layer; 4 5 layer.push(root); 6 ...
分类:
其他好文 时间:
2015-02-02 12:17:03
阅读次数:
171
原题地址基本数据结构操作,二叉树的层次遍历。代码: 1 vector > zigzagLevelOrder(TreeNode *root) { 2 vector > res; 3 vector layer; 4 bool l2r = true; 5 ...
分类:
其他好文 时间:
2015-01-29 20:49:11
阅读次数:
169
原题地址二叉树的层次遍历。对于每一层,依次把各节点连起来即可。代码: 1 void connect(TreeLinkNode *root) { 2 if (!root) return; 3 4 queue parents; 5 6 parents.push(root); 7 wh...
分类:
其他好文 时间:
2015-01-21 14:57:15
阅读次数:
166
二叉树的层次遍历,也就是广度优先遍历。代码如下: 1 void HierarchyBiTree(BiTree *Root) 2 { 3 LinkQueue *Q; 4 5 InitQueue(Q); 6 7 if (Root == NULL) return ; 8 ...
分类:
其他好文 时间:
2014-11-24 16:53:44
阅读次数:
247
(一)从上往下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。【层次遍历】 从上到下打印二叉树的规律:每一次打印一个节点的时候,如果该节点有子节点,则把该节点的子节点放到一个队列的末尾。...
分类:
其他好文 时间:
2014-11-16 20:14:43
阅读次数:
231