![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记--树
MagicBling
刚刚入门编程的萌新 学习ing 肥宅
展开
-
数据结构入门---初识二叉树(上)
前面的章节,我们介绍了两种特殊的线性结构,栈和队列。线性结构一般适合用于处理一对一的关系结构。但现实中我们会经常遇到一对多,或者多对多的情况。从本文章开始我们将介绍一对多的数据结构–树 树,是一个含有若干个结点的有限集合,当结点数量为0时,我们称这棵树为空树。每个树都有并且只有一个特定的根结点。其余结点可分为若干个互不相交的有限集合,其中每个集合本身也是一棵树,成为根结点的子树。 树有结点,每个原创 2017-10-16 22:13:52 · 311 阅读 · 1 评论 -
数据结构入门---初始二叉树(下)
这篇文章起我们将准备将二叉树实现为具体的代码首先我们要从二叉树的遍历说起。二叉树的遍历主要有四种形式1. 前序遍历 方法:如果二叉树为空,则直接返回。如果二叉树非空,则访问根结点,再前序遍历左子树,然后前序遍历右子树 我们可以知道这样的遍历方式是以递归形式给出的。那么我们以下面这棵树为例,它的前序遍历顺序为: A B D G H C E F对于整个遍历过程,首先从根结点开始。 1.访问根结点A原创 2017-10-22 22:19:55 · 606 阅读 · 1 评论 -
数据结构入门--线索二叉树
当我们遍历一棵二叉树时,我们会得到整棵树数据的一个序列(前or中or后),可以知道一个数据结点的前驱或者后继是哪个结点。但是,对于每个结点的结构,我们只能从中得知某结点的左右孩子的信息,要得到前驱/后继结点的信息就要遍历一遍二叉树,这样岂不是很麻烦?我们能不能有一种方法,可以轻易的知道某个结点的前驱结点或后继结点呢?答案显然是肯定的我们知道二叉树的一个结点有两个指针域,那么对于n个结点的二叉树就会有原创 2017-11-01 17:49:55 · 356 阅读 · 1 评论