王道408学习
文章平均质量分 53
学习保存
WWBQU
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第五章 5.3 线索二叉树
p用于遍历和修改节点内容,不需要跨递归层级修改指针地址;pre需要跨递归层级修改指针本身,需要全局共享状态,确保所有递归调用能访问和修改同一个前驱节点。:不需要递归或栈,直接通过线索高效遍历(时间复杂度,空间复杂度Firstnode:找到子树的最左节点(中序起点)。Nextnode:根据右子节点的类型(真实子节点或线索)决定如何找后继。rtag == 0:若子节点已被线索化(ltag=1或rtag=1),说明它已经被处理过,无需再递归。:若子节点是线索(例如指向父节点),递归会导致无限循环。原创 2025-05-01 20:24:41 · 239 阅读 · 0 评论 -
第五章 5.3 二叉树的遍历
示例:若树结构为A->lchild=B,A->rchild=C,则压栈顺序为A→B→B的左子树(若存在)→...,直至叶子节点的子节点为NULL后开始弹栈,并逐层处理右子树。示例:对于A的左子树B和右子树C,压栈顺序为A→B→B的左子树(直到空)→弹栈访问B的左子树→B的右子树(直到空)→弹栈访问B→弹栈访问A的右子树(如C)→最终访问A。示例:对于A的左子树B和右子树C,压栈顺序为A→B→B的左子树(直到空)→弹栈访问B→压栈B的右子树(若存在)→弹栈访问A→压栈A的右子树。原创 2025-05-01 17:05:50 · 391 阅读 · 0 评论 -
第三章 3.2队列
出队是使用的头结点S对第一个节点p((*S).front->next)进行free删除。队满:((*Q).rear+1)%MaxSize==(*Q).front。后移:(*Q).rear=((*Q).rear+1)%MaxSize。(*Q).rear和Q->rear等价,往后不做说明。队列的入队是在队尾建立新的节点s进行尾插,队空:Q.rear==Q.front。原创 2025-04-08 15:22:25 · 149 阅读 · 0 评论 -
第三章 3.1栈
2.如果栈底在下,栈顶在上,入栈出栈,*next都是向下指向的(指向栈底)。Push(SqStack *S,ElemType e)中,实际上是等价的,后者更加简洁。我这里模仿书中选取了前者。1.实际上链栈不需要头节点。原创 2025-04-07 20:37:34 · 192 阅读 · 0 评论 -
第二章 2.3链表
(主要差异在插入和删除)原创 2025-04-07 18:33:14 · 583 阅读 · 0 评论 -
第二章 2.2顺序表
【代码】第二章 2.2顺序表。原创 2025-04-06 19:00:16 · 115 阅读 · 0 评论
分享