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#写项目,又想练练数据结构,建议把这个练熟了,写起来挺爽的。
21题.rar
预估大小:23个文件
第21题
文件夹
BTreeCreate
文件夹
BTreeCreate.suo
18KB
BTreeCreate
文件夹
bin
文件夹
Debug
文件夹
BTreeCreate.vshost.exe
6KB
BTreeCreate.pdb
48KB
BTreeCreate.exe
32KB
Tree.cs
6KB
56.49KB
文件大小:
评论区