zoukankan
html css js c++ java
二叉树遍历:先序、中序、后序和层次遍历
public
class
BinaryNode
{
public
int
Data;
public
BinaryNode Left;
public
BinaryNode Right;
}
public
class
BinaryTree
{
public
void
PreOrder(BinaryNode node)
{
if
(node
!=
null
)
{
Console.WriteLine(node.Data);
PreOrder(node.Left);
PreOrder(node.Right);
}
}
public
void
MidOrder(BinaryNode node)
{
if
(node
!=
null
)
{
MidOrder(node.Left);
Console.WriteLine(node.Data);
MidOrder(node.Right);
}
}
public
void
AfterOrder(BinaryNode node)
{
if
(node
!=
null
)
{
AfterOrder(node.Left);
AfterOrder(node.Right);
Console.WriteLine(node.Data);
}
}
public
void
LayerOrder(BinaryNode node)
{
if
(node
!=
null
)
{
CurrentLayer(node.Left);
CurrentLayer(node.Right);
LayerOrder(node.Left);
LayerOrder(node.Right);
}
}
private
void
CurrentLayer(BinaryNode node)
{
if
(node
!=
null
)
{
Console.WriteLine(node.Data);
}
}
}
测试:
BinaryNode n1
=
new
BinaryNode();
n1.Data
=
27
;
BinaryNode n2
=
new
BinaryNode();
n2.Data
=
83
;
BinaryNode n3
=
new
BinaryNode();
n3.Data
=
123
;
BinaryNode n4
=
new
BinaryNode();
n4.Data
=
98
;
BinaryNode n5
=
new
BinaryNode();
n5.Data
=
94
;
BinaryNode n6
=
new
BinaryNode();
n6.Data
=
48
;
BinaryNode n7
=
new
BinaryNode();
n7.Data
=
61
;
n1.Left
=
n2;
n1.Right
=
n3;
n1.Left.Left
=
n4;
n1.Left.Right
=
n5;
n1.Right.Right
=
n6;
n1.Right.Right.Left
=
n7;
BinaryTree bTree
=
new
BinaryTree();
Console.WriteLine(
"
Pre Order Binary Tree:
"
);
bTree.PreOrder(n1);
Console.WriteLine(
"
Midd Order Binary Tree:
"
);
bTree.MidOrder(n1);
Console.WriteLine(
"
After Order Binary Tree:
"
);
bTree.AfterOrder(n1);
Console.WriteLine(
"
Layer Order Binary Tree:
"
);
bTree.LayerOrder(n1);
Console.ReadLine();
查看全文
相关阅读:
第k小元素学习记录
线段树学习笔记
数论方面的知识积累
javascript 例子
数据绑定以及Container.DataItem的具体分析
C#委托和事件
C#中的特性(Attributes)(翻译)
gridview和repeater中取得行的序号
理解 Ajax 及其工作原理,构建网站的一种有效方法
JS数组对象参考
原文地址:https://www.cnblogs.com/silva/p/1091806.html
最新文章
标准库string类型可以做什么
IIS7.5 部署asp.net 3.5 mvc2.0 网站 关键
数据挖掘几个入门级的算法的总结(优缺点)
python 在函数中使用全局变量的注意事项
python3.2打开utf8的txt文件时BOM问题的解决办法
详解python实现FPTREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(1)
VS2010编译时拿老版本的代码运行,出现"source code is different..."解决办法
python3.2 实现在同一行打印,实现进度条效果
Illegal attempt to associate a collection with two open session问题
python3.x 使用httppost方式调用webservice
热门文章
python利用K均值做聚类,判断中国足球第几流
AR 发票号码 sequence
利用fnd_flex_keyval包轻松获取关键性弹性域组合描述字段
poj 1364 King
数据结构之并查集小结
poj 2983Is the Information Reliable?
树状数组学习笔记
干杯
poj 3169 Layout
poj 2750 Potted Flower
Copyright © 2011-2022 走看看