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();
查看全文
相关阅读:
Android下加载GIF图片
拍照、相册及裁剪的终极实现(一)——拍照及裁剪功能实现
阿里巴巴矢量库
ActiveAndroid 管理数据库
利用box-shadow制作loading图
适用于移动端的地址选择器
常用的不易记忆的css自定义代码
关于js中一个对象当做参数传递是按值传递还是按引用传递的个人看法
JavaScript之函数柯里化
CSS3实现图片渐入效果
原文地址:https://www.cnblogs.com/silva/p/1091806.html
最新文章
解决Android无法正常https://dl.google.com/dl/android/maven2/com/的办法
ios 证书配置、打包、发布
ios 打包 异常
Android WebView js混合cookie和localStorage存储
App支付宝登录授权
网络编程——http协议
Android安全防护防护———Android 端常见的安全问题
Android安全防护防护———加密算法
Retrofit源码解析(下)
Retrofit源码解析(上)
热门文章
OkHttp源码解析
Volley源码解析
2018年Android面试题含答案--适合中高级(上)
Android面试经历2018
关于犹太人培养小孩【转】
webApp和Native综合开发一款APP
初次尝试用HTML/JS开发Android。
Android下拦截、监听返回键和home键
Android 复制到剪贴板的方法
仿微信小视屏拍摄的进度条/自定义的progressBar的样式。
Copyright © 2011-2022 走看看