正在加载图片...
《数据结构》实验指导/实验六:二叉树的存储及操作 2 七、实验内容及步骤 任务:代码实现二叉树的二叉链表存储结构;编写应用程序,用相关数据验证运算算法。 实验步骤: (1)启动 sual studio2010,创建窗体应用程序。 (2)增加二叉链表类,代码参考如下 public class BTNode ∥二叉树的结点类型类 public char data 数据元素 public BTNode Child; /指向左孩子结点 public BTNode rchild; 指向右孩子结点 }; class BTNode Class ∥二叉树类 const int Max Size 1000; BTNode r= new BTNode(; ∥二叉树的根结点r public string bstr; ∥)于递归算法中建立返回字符串 public BTNode class ∥构造函数 r lchild =r rchild= null: 二叉树的基本运算算法 public void CreateBTNode(string str) ∥由正确的二叉树括号表示str创建二 叉链的算法 BTNodell st= new BTNode Maxsizel;∥创建一个顺序栈 BTNode p=null; 建立的二叉树初始时为空 while gi< str Length) ∥循环扫描sr中每个字符 h=str[jl; switch(ch) case'(:top++; Stltopl=p;k=1; break;〃开始处理左孩子结点 case): top--; break case’,’:k=2; break; 开始处理右孩子结点 default: p= new BTNodeO pChild=p rchild= null p data=ch if(r== null) 若尚未建立根结点 管理科学与工程学科/共6页第2页《数据结构》实验指导 / 实验六:二叉树的存储及操作 2 管理科学与工程学科 / 共6页,第2页 七、实验内容及步骤 任务:代码实现二叉树的二叉链表存储结构;编写应用程序,用相关数据验证运算算法。 实验步骤: (1) 启动 Visual Studio 2010,创建窗体应用程序。 (2) 增加二叉链表类,代码参考如下: public class BTNode //二叉树的结点类型类 { public char data; //数据元素 public BTNode lchild; //指向左孩子结点 public BTNode rchild; //指向右孩子结点 }; class BTNodeClass //二叉树类 { const int MaxSize = 1000; BTNode r = new BTNode(); //二叉树的根结点 r public string btstr; //用于递归算法中建立返回字符串 public BTNodeClass() //构造函数 { r.lchild = r.rchild = null; } //----------二叉树的基本运算算法------------------------------- public void CreateBTNode(string str) //由正确的二叉树括号表示 str 创建二 叉链的算法 { BTNode[] St = new BTNode[MaxSize]; //创建一个顺序栈 BTNode p = null; int top = -1, k = 0, j = 0; char ch; r = null; //建立的二叉树初始时为空 while (j < str.Length) //循环扫描 str 中每个字符 { ch = str[j]; switch (ch) { case '(': top++; St[top] = p; k = 1; break; //开始处理左孩子结点 case ')': top--; break; case ',': k = 2; break; //开始处理右孩子结点 default: p = new BTNode(); p.lchild = p.rchild = null; p.data = ch; if (r == null) //若尚未建立根结点
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有