![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 82
chaexxi01
这个作者很懒,什么都没留下…
展开
-
c语言数据结构——中序线索化二叉树,实现中序遍历(不借助栈)
本文作为我学习数据结构的笔记,若有不足请见谅或麻烦提出宝贵意见。当二叉树用左右指针表示时,对于n个结点的二叉树,将存在n+1个空指针的空间浪费。同时周游是二叉树中许多操作的基础,因此生成一种利用空指针的思想,利用结点的空左指针存储该结点在某种周游序列中的前驱结点的位置;利用结点的空右指针存储该结点在同种周游序列中的后继结点的位置。这种附加的指向前驱结点和后继结点的指针称作线索,加进了线索的二叉树左右指针表示称作线索二叉树。把二叉树左右指针表示改造成线索二叉树的过程称为线索化。本文主要描述中序线索化。原创 2022-06-01 21:55:16 · 2334 阅读 · 1 评论 -
c语言数据结构——二叉树的先序、中序、后序遍历(借助栈)
前言本文作为我学习数据结构的笔记,若有不足请见谅或麻烦提出宝贵意见。1.什么是二叉树的周游将二叉树的所有结点访问一遍,且每个结点只被访问一次,按照被访问的次序,得到结点的一组线性序列。周游种类可分为:深度优先遍历、广度优先遍历。其中,深度优先遍历按照根被访问的时间,可分为:DLR先根遍历:根左右LDR中根遍历:左根右LRD后根遍历:左右根2.遍历算法非递归的遍历算法主要依靠栈来实现。2.1 先根遍历2.1.1 算法思想:1)从根p开始,访问p并让p进栈;置p为左子树,重复直到p为原创 2022-05-30 18:46:41 · 2729 阅读 · 0 评论