数据结构学习笔记——线索二叉树要点精炼

线索二叉树要点精炼

1.由来:二叉树链式存储有“空域链”;借此将分支结构“线性化”,拥有“前驱”和“后继”

2.优势:无系统栈「树的递归遍历算法」、无用户栈「树的非递归遍历算法」、遍历过程线性化,进一步提高效率

3.种类:中序线索二叉树、前序线索二叉树、后续线索二叉树

4.线索二叉树的构造:

    1)线索二叉树结点TBTNode{int rtag,ltag}

    2)线索化:a」中序遍历的框架+合适的线索[分别放置在递归入的前中后]

                         b」线索化规则:需要两个指针「当前结点p和p的前驱结点pre」,第一

                                建立当前结点p的前驱线索,第二建立前驱结点的后继结点;

                               最后中序遍历线索化需要额外注意:最后一个根结点特殊处理;

                               前序遍历需要额外注意:递归入口处需判断左右指针非线索才能继续

                              递归

     3)遍历线索化:a」中序遍历

                                第一个结点First:ltag==0则一直访问左结点

                                最后一个结点Last:rtag==0则一直访问右结点

                                后继结点:rtag==0则先往“右走一步”再一直“往左走First”

                                前驱结点:ltag==0则先往“左走一步”再一直“往右走Last”

                           b」前序二叉树遍历

5.选择题题型:指出某结点的线索按某种线索化所应指向的结点,解题方法即是按遍历规则写出遍历序列,前驱后继一目了然

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值