原文:深入学习二叉树(02)线索二叉树

.产生背景 现在有一棵节点数目为 n 的二叉树,采用二叉链表的形式存储。对于每个节点均有指向左右孩子的两个指针域。而节点为 n 的二叉树一共有 n 条有效分支路径。那么二叉链表中一共 存在 n n n 个空指针域。那么这些空指针域造成了空间浪费。 如图:所示一棵二叉树一共有 个节点,空指针有 个 此外,当对二叉树进行中序遍历时可以得到二叉树的中序列。例如上图中二叉树中序遍历结果为 HDIBJEA ...

2019-09-30 15:26 0 476 推荐指数:

查看详情

深入学习二叉树(一) 二叉树基础

前言 树是数据结构中的重中之重,尤其以各类二叉树学习的难点。一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列。在学习与总结的同时更加深入的了解掌握二叉树。本系列文章将着重介绍一般二叉树、完全二叉树、满二叉树线索二叉树、霍夫曼树、二叉排序树、平衡二叉树 ...

Fri May 14 01:30:00 CST 2021 0 213
线索二叉树

我们在上一章中,学习二叉树的数据结构。因为二叉树的特殊性,它不同于普通的树,所以可以使用顺序存储结构来存储。但是,用顺序存储结构会存在浪费空间的弊端。之后,我们学习二叉链表。用链式存储结构存储树,结点结构为一个数据域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
后序线索二叉树

后序线索二叉树中,结点的后继:   如果结点的双亲有右孩子,则结点的后继为双亲的右子树中第一个被访问的结点   如果结点的双亲没有右孩子,则结点的后继为双亲   如果结点为双亲的右孩子,则结点的后继为双亲 因为找到后序遍历中,找到结点的后继需要知道节点的双亲,所以可以用三叉链表 ...

Sat Apr 03 19:36:00 CST 2021 0 302
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM