更多西南交通大学真题,参考:西南交通大学计算机考研——数据结构真题系列
一、考研真题
3、有一个单链表,其结点的元素值以非递减有序排列,编写一个函数删除该单链表中多余元素的值相同的结点。
4、设一棵二叉树以二叉链表为存储结构,设计一个算法求二叉树的高度。
二、真题解析
3、有一个单链表,其结点的元素值以非递减有序排列,编写一个函数删除该单链表中多余元素的值相同的结点。
void Del(LNode* &L)
{
LNode *p,*q;
p = L->next;
while (p!=NULL&&p->next!=NULL)
{
if (p->data!=p->next->data)
{
p = p->next;
}
else {
q = p->next;
p->next = q->next;
//free(q);
delete q;
}
}
}
该题与2011年第三题题似,都是删除链表重复元素,但区别在于是否为有序链表;
4、设一棵二叉树以二叉链表为存储结构,设计一个算法求二叉树的高度。
int Heigh(BTNode* btree)
{
if (btree == NULL)
{
return 0;
}
int lheight, rheight;