数据结构
g360z247j123
这个作者很懒,什么都没留下…
展开
-
树的实现和二叉树的定义
为了实现树,树中的每一个节点除数据外还要有一些指针,使得该节点的每一个孩子节点都有一个指针指向它。实际中由于树中某个节点的孩子节点数可以变化很大且事先不知道,故在树的数据结构中建立到各孩子节点直接的链接是不可行的(假如这样做会产生太多的浪费空间)。 实际上比较简单的做法:将树中每个节点的所有孩子节点都放在树节点的链表中。具体声明如下:typedef struct TreeNode *PtrToNo原创 2016-07-09 10:00:33 · 529 阅读 · 0 评论 -
二叉树的几种遍历方法及递归和非递归的实现
遍历二叉树是按照指定的路径方式访问树中的每一个节点且仅访问一次,二叉树一般有4种遍历方法:前(先)序遍历、中序遍历、后序遍历和层次(分层)遍历。前序遍历:根节点->左子树->右子树 中序遍历:左子树->根节点->右子树 后序遍历:左子树->右子树->根节点 层次遍历:先遍历第1层,接着遍历第2层,…遍历第k层…,每层按从左到右的顺序遍历上图的树结构中的4种遍历方法的结果为 前序遍历:AB原创 2016-07-10 17:29:29 · 597 阅读 · 0 评论 -
树的定义和基本概念
对于大量的输入数据,链表的线性访问时间太慢;而对于树等数据结构则会比较快速。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 通常采用递归的方法来定义树。一棵树是一些节点的集合。这个集合可以为空集或非空集;若树非空,则它由称为根(root)的节点r以及0个或多个非空的(子)树T1,T2,…Tk组成,这些子树中每一棵树都被来自根r的一条有向的边(edge)所连接。原创 2016-07-08 10:06:48 · 2150 阅读 · 0 评论