更多西南交通大学真题,参考:西南交通大学计算机考研——数据结构真题系列
一、考研题目
五、算法设计题
1、单向循环链表结点结构如本试卷第三大题第二小题所示,单向循环链表无附加头结点,已知某结点地址P,试写一个算法,填充所有结点的sum域,要求每个结点sum域值为其余结点的data域值之和。(10分)
如:表长为3,结点的data域值为(1,-1,2),则填充后的sum域值为(1,3,0)。
2、二叉树采用三叉链表存储结构如本试卷第三大题第三小题所示,试编写算法,从键盘输入字符序列,用先序遍历递归法建立三叉链表存储结构,返回二叉树根结点地址。要求算法能正确填充每个结点的parent域。
若输入字符序列AB#DF##G##C#E##,则建立的二叉树如试卷第四大题第一小题的二叉树所示(#字符表示NULL指针)。
二、真题分析
1、单向循环链表结点结构如本试卷第三大题第二小题所示,单向循环链表无附加头结点,已知某结点地址P,试写一个算法,填充所有结点的sum域,要求每个结点sum域值为其余结点的data域值之和。(10分)
单向循环链表结点结构:
typedef struct node {
int data, sum;
struct node *next;
}LNode;
计算每个结点的sum域值: