2011年9月14日
摘要: 本文接上一篇【万丈高楼平地起 第二季 队列和栈】继续说明如何用C#语言实现二叉树的操作。四、树 链表、堆栈和队列都是线性结构(即序列)。树是一种特殊的非线性二维数据机构。树节点包含两个或两个以上的链接。工作中主要应用的二叉树——每个节点都有两个链接(其中可有一个或两个链接为null)。根节点是树的第一个节点。左孩子(left child)是左子树的第一个节点,右孩子(right child )是右子树的第一个节点。属于相同节点的子节点成为兄弟节点(siblings)。没有子节点的节点成为叶子节点。计算机科学家常常用根节点在上、叶子节点的方式画出一棵树——同树的自然生长方向恰好相反。 ... 阅读全文
posted @ 2011-09-14 16:30 Frank.Fan 阅读(1669) 评论(0) 推荐(0) 编辑
摘要: 接上一篇【万丈高楼平地起 第一季 链表是怎样链成的】,本文是基于上一篇链表来操作队列和栈的。二、栈1.堆栈是受约束的链表——堆栈只在栈顶(top)获取新节点和释放节点。因此,堆栈是一种后进先出(LIFO)的数据结构。底部(最后一个)节点的链接成员设成null表示栈底。2.堆栈的基本操作是压入(push)和弹出(pop)。压入操作是在堆栈顶部添加一个节点。弹出操作是从堆栈顶删除一个节点并从被弹出的节点返回被删除的数据。3.在C#中命名空间System.Collections下,包含了用于实现和操作堆栈的Stack类,在程序运行时,该类可改变大小。 我们来实现自己的Stack类。首先新建一个控制. 阅读全文
posted @ 2011-09-14 16:22 Frank.Fan 阅读(1163) 评论(0) 推荐(0) 编辑