草庐IT

线索二叉树

线索二叉树问题:为什么要研究线索二叉树当用二叉链表作为二叉树的存储结构时,可以很方便地找到某个结点的左右孩子;但一般情况下,无法直接找到该结点在某种遍历序列中的前驱和后继结点。线索二叉树定义:利用二叉树的空指针域,如果某个结点的左孩子为空,则将空的左孩子指针域改为指向其前驱;如果某结点的右孩子为空则将空的右孩子指针域改为指向其后继。————这种改变指向的指针称为“线索”。加上线索的二叉树称为线索二叉树(ThreadedBinaryTree)。对二叉树按某种遍历次序使其变为线索二叉树的过程叫线索化。为了区分lchild和rchild指针到底是指向孩子的指针,还是指向前驱或者是后继的指针,对二叉链

二叉树的性质和存储结构

2.两种特殊的二叉树满二叉树定义:一棵深度为k且有2^k-1个结点的二叉树称为满二叉树。特点:每一层上的结点数都是最大结点数(即每层都满);叶子结点全部在最底层;对满二叉树结点位置进行编号编号规则:从根结点开始,自上而下,自左而西;每一结点位置都有元素;完全二叉树定义:深度为k的具有n个结点的二叉树,当且仅当其每一个结点都与深度同为k的满二叉树中编号为1~n的结点一一对应时,称之为完全二叉树。注:在满二叉树中,从最后一个结点开始,连续去掉任意个结点,即是一棵完全二叉树,一定是连续的去掉!!!特点:叶子只可能分布在层次最大的两层上。对任一结点,如果其右子树的最大层次为i,则其左子树的最大层次为i

稀疏矩阵存储

稀疏矩阵存储稀疏矩阵:设在mxn的矩阵中有t个非零元素。令a=t/(mxn)当a顺序存储结构第0行中通常用来存储总体信息。链式存储结构优点:它能够灵活地插入因运算而产生的新的非零元素,删除因运算而产生的新的零元素,实现矩阵的各种运算。在十字链表中,矩阵的每一个非零元素用一个结点表示,该结点除了(row,col,value)以外,还有两个域:right:用于链接同一行中的下一个非零元素;down:用于链接同一列中的下一个非零元素;十字链表中结点的示意图:

稀疏矩阵存储

稀疏矩阵存储稀疏矩阵:设在mxn的矩阵中有t个非零元素。令a=t/(mxn)当a顺序存储结构第0行中通常用来存储总体信息。链式存储结构优点:它能够灵活地插入因运算而产生的新的非零元素,删除因运算而产生的新的零元素,实现矩阵的各种运算。在十字链表中,矩阵的每一个非零元素用一个结点表示,该结点除了(row,col,value)以外,还有两个域:right:用于链接同一行中的下一个非零元素;down:用于链接同一列中的下一个非零元素;十字链表中结点的示意图:
12