浙大数据结构基础4-1 Level-order Traversal (10分)
来源:互联网 发布:种子文件下载软件 编辑:程序博客网 时间:2024/06/07 09:28
4-1 Level-order Traversal (10分)
Write a routine to list out the nodes of a binary tree in "level-order". List the root, then nodes at depth 1, followed by nodes at depth 2, and so on. You must do this in linear time.
Format of functions:
void Level_order ( Tree T, void (*visit)(Tree ThisNode) );
where void (*visit)(Tree ThisNode)
is a function that handles ThisNode
being visited by Level_order
, and Tree
is defined as the following:
typedef struct TreeNode *Tree;struct TreeNode { ElementType Element; Tree Left; Tree Right;};
Sample program of judge:
#include <stdio.h>#include <stdlib.h>#define MaxTree 10 /* maximum number of nodes in a tree */typedef int ElementType;typedef struct TreeNode *Tree;struct TreeNode { ElementType Element; Tree Left; Tree Right;};Tree BuildTree(); /* details omitted */void PrintNode( Tree NodePtr ){ printf(" %d", NodePtr->Element);}void Level_order ( Tree T, void (*visit)(Tree ThisNode) );int main(){ Tree T = BuildTree(); printf("Level-order:"); Level_order(T, PrintNode); return 0;}/* Your function will be put here */
Sample Output (for the tree shown in the figure):
Level-order: 3 5 6 1 8 10 9
void Level_order ( Tree T, void (*visit)(Tree ThisNode) ){if(!T)return;int begin,end,i;begin=end=i=0;Tree q[1000];q[0]=T;while(i<=end){if(q[i]->Left)q[++end]=q[i]->Left;if(q[i]->Right)q[++end]=q[i]->Right;i++;}for(i=begin;i<=end;i++)(*visit)(q[i]);}
1 0
- 浙大数据结构基础4-1 Level-order Traversal (10分)
- 4-6-Level-order Traversal
- 浙大数据结构基础4-2 Isomorphic (7分)
- 4-3 Level-order Traversal (25分)
- 5.1.4 Binary Tree Level Order Traversal
- 5.1.1 Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal 1+2
- level- order traversal
- C++ Level-Order Traversal
- [leetcode] Level Order Traversal
- Level Order Tree Traversal
- BFS (Level Order Traversal)
- BFS (Level Order Traversal)
- BFS (Level Order Traversal)
- Level-order Traversal
- 浙大 数据结构基础 week3 4-1
- 浙大 数据结构基础 week2 4-1
- Binary Tree Level Order Traversal
- 使用java中replaceAll方法替换字符串中的反斜杠
- java数组
- JAVA设置HttpOnly Cookies
- java二叉树
- Solidworks修改toobox属性
- 浙大数据结构基础4-1 Level-order Traversal (10分)
- 更改网络ip后如何重新配置Oracle数据库监听
- Codeforces Round #377(Div. 2)D.Exams(二分+思维)
- USB设备多个配置描述符的获取过程
- python自学笔记15之实例之绘图、dataframe操作、读写csv,excle
- java爬虫之基于httpclient的简单Demo(二)
- 通过md5值检查文件信息是否相同
- Python3基础(六) 深入list列表
- 数据结构基础:线性表的应用(1)