原文:彻底理解线索二叉树

一 线索二叉树的原理 通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有 n个链域,非空链域为n 个,但其中的空链域却有n 个。如下图所示。 因此,提出了一种方法,利用原来的空链域存放指针,指向树中其他结点。这种指针称为线索。 记ptr指向二叉链表中的一个结点,以下是建立线索的规则: 如果ptr gt lchild为空,则存放指向中序遍 ...

2017-06-28 15:47 3 20654 推荐指数:

查看详情

彻底理解线索二叉树

一、线索二叉树的原理 通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有2n个链域,非空链域为n-1个,但其中的空链域却有n+1个。如下图所示。 因此,提出了一种方法,利用原来的空链域 ...

Thu Feb 21 22:01:00 CST 2019 2 9607
线索二叉树的深度理解

不知道你是否和我当时一样,对于线索二叉树,有点云里雾里的感觉,现在我们来一起探讨下吧。 首先,我们所应该知道的是:线索二叉树是对二叉链表中空指针的充分利用,也就是说,使得原本是空指针的转化成在某种遍历的顺序下,指向该结点的前驱和后继。也许听的有点糊涂,没关系,请接着往下看。 在二叉链表中,每个 ...

Mon May 01 23:49:00 CST 2017 1 6957
线索二叉树

我们在上一章中,学习了二叉树的数据结构。因为二叉树的特殊性,它不同于普通的树,所以可以使用顺序存储结构来存储。但是,用顺序存储结构会存在浪费空间的弊端。之后,我们学习了二叉链表。用链式存储结构存储树,结点结构为一个数据域data,两个指针域lchild、rchild。树的数据结构讲完 ...

Fri Oct 17 00:50:00 CST 2014 0 2444
线索二叉树

线索二叉树 (threaded binary tree) 上图所示的二叉链表,存在多个空指针域。假设一个二叉链表的结点数为n,则共有2n个指针域。而n个结点的二叉树共有n-1条分支。所以空指针域的个数为:2n - (n-1) = n+1。 可以在这 ...

Sun Nov 04 00:04:00 CST 2012 1 6386
二叉树线索

线索二叉树就是充分利用二叉树节点中的空指针,让它们分别指向本节点的前驱或者后继。既充分利用了资源,又方便 ...

Thu Mar 01 22:31:00 CST 2018 0 3559
二叉树线索

二叉树线索化可以利用二叉树中指向左右子树的空指针来存放节点的前驱和后继信息可以使用以下结点结构: ...

Sun Jun 26 07:51:00 CST 2016 0 3003
二叉树(线索化)

二叉树线索化:    二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历。用二叉树作为存储结构时,取到一个节点,只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继。 为了保存这种在遍历中需要的信息,我们利用二叉树中指向左右子树的空指针来存放 ...

Thu Feb 04 18:46:00 CST 2016 0 6929
前序线索二叉树

1.遍历前序线索二叉树 如果当前结点有左孩子,则应该更新p指向左孩子,否则指向右孩子,这与中序遍历线索二叉树不同,中序遍历时,能够确定当前结点的左子树一定被访问过了,直接更新p指向右孩子 2.前序线索二叉树 3.删除线索二叉树所占空间 ...

Sat Apr 03 06:17:00 CST 2021 0 285
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM