C#数据结构二叉树操作详解

C#的二叉树操作,写起来其实还挺有意思的,逻辑清晰、结构也不复杂。是你要用来做算法练习或者做点小工具,那真的是挺实用的一个模块。文章讲得比较全,从插入、删除、查找到遍历,还顺带聊了下怎么平衡树,实用性强。

基础的二叉树结构就是一个节点带左右子节点,关键是搞清楚什么时候该放左边、什么时候放右边。比如二叉搜索树的原则就是:左小右大,查找效率高,一般都是 O(log n)。

代码上,用 C#定义个TreeNode类就能搞定:

public class TreeNode {
  public T Value;
  public TreeNode LeftChild;
  public TreeNode RightChild;
  public TreeNode(T value) {
    this.Value = value;
    this.LeftChild = null;
    this.RightChild = null;
  }
}

接下来就可以根据需求写插入、删除这些操作。嗯,用VS2005开发也挺方便,调试、断点都支持,还能写单元测试,调代码安心多了。

遍历方式其实也好记:前序是“我先来”,中序是“左边先来”,后序就是“我”。代码实现几行搞定,逻辑还蛮清楚。

对了,如果你搞平衡树的话,比如AVL或者红黑树,要旋转问题,刚开始会有点绕,但一旦弄懂,成就感也挺强的。

如果你对二叉树结构还不太熟,可以先看看这篇:二叉树数据结构操作,讲得蛮基础的。还有一个链表版本的也挺有意思:二叉树链表存储结构代码

,二叉树这块内容其实不难,关键是多敲几遍,理解节点之间的关系。如果你是用 C#写项目,又想练练数据结构,建议把这个练熟了,写起来挺爽的。

rar
21题.rar 预估大小:23个文件
folder
第21题 文件夹
folder
BTreeCreate 文件夹
file
BTreeCreate.suo 18KB
folder
BTreeCreate 文件夹
folder
bin 文件夹
folder
Debug 文件夹
file
BTreeCreate.vshost.exe 6KB
file
BTreeCreate.pdb 48KB
file
BTreeCreate.exe 32KB
file
Tree.cs 6KB
file
Nodes.cs 1KB
file
Program.cs 469B
folder
obj 文件夹
file
BTreeCreate.csproj.FileList.txt 295B
folder
Debug 文件夹
file
BTreeCreate.csproj.GenerateResource.Cache 841B
file
BTreeCreate.pdb 48KB
file
BTreeCreate.exe 32KB
folder
TempPE 文件夹
file
BTreeCreate.Tree.resources 180B
folder
Refactor 文件夹
file
BTreeCreate.Properties.Resources.resources 180B
file
Tree.Designer.cs 18KB
file
Tree.resx 6KB
file
BTree.cs 11KB
folder
Properties 文件夹
file
Resources.resx 5KB
file
Settings.settings 249B
file
AssemblyInfo.cs 1KB
file
Settings.Designer.cs 1KB
file
Resources.Designer.cs 3KB
file
BTreeCreate.csproj 3KB
file
BTreeCreate.sln 922B
rar 文件大小:56.49KB