实验 16 · 二叉树 · 基本操作
二叉链表 + 顺序栈 + 链队列三件套:先/中/后序遍历(递归 + 非递归),层序遍历,最大宽度(队列节点附带 level 字段)。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdio.h> #include <stdlib.h> #include <stri...
二叉链表 + 顺序栈 + 链队列三件套:先/中/后序遍历(递归 + 非递归),层序遍历,最大宽度(队列节点附带 level 字段)。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdio.h> #include <stdlib.h> #include <stri...
在三元组表稀疏矩阵上找「鞍点」:该位置既是所在行的最大值,又是所在列的最小值。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdio.h> #include <stdlib.h> #include <limits.h> #define MAX_SIZE ...
单文件版广义表实验:互相调用的解析器递归吃完嵌套括号,再用同样递归思路求复制、长度、深度。配套有自动化测试程序。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #i...
广义表的递归算法库:单独抽出 glist.h / glist.c,演示带头节点的广义表构造、嵌套解析、长度与深度计算。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 main.c #include <stdio.h> #include <stdlib.h> #include <str...
用 (行, 列, 值) 三元组紧凑表示稀疏矩阵,按行优先校验录入;位置编码 i*n+j 用 long 显式防溢出。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdio.h> #include <stdlib.h> #define MAX_SIZE 200 typ...
字符串操作演示系统:用串头表(串名/串首并行数组)管理多个串,支持按命令名解析、参数分发与多串协同操作。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdlib.h> #include <stdio.h> #include <string.h> /* 实...
用 26 字母固定置换表做加密;解密表在启动时一次性反推出来,避免每次解密都重新扫描映射表。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdio.h> #include <string.h> #include <ctype.h> #define MAX...
时间片轮转作业调度:作业按到达时间入队,每次取一个时间片执行;没做完就重新排到队尾,最终统计平均周转/等待时间。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdio.h> #include <stdlib.h> // 时间片大小,时间片用完作业没做完就重新排到队尾...
链式队列模拟医院叫号:按到达时间入队、按治疗时间出队,统计平均等待与平均处理时间。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX_TIME ...
双栈实现表达式处理:一个栈处理运算符优先级把中缀转为后缀,另一个数字栈完成最终求值。 课程:《数据结构》(涂老师)。本文代码遵循仓库 AGENTS.md 与 CLAUDE.md 的约定。 源代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ct...