西南交通大学计算机专业考研真题答案详解3:2015年算法设计题

更多西南交通大学真题,参考:西南交通大学计算机考研——数据结构真题系列

一、考研题目

五、算法设计题

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域值:

你可能感兴趣的:(考研真题,考研,计算机,数据结构,算法设计,西南交通大学)