大连理工大学数据结构2003年硕士入学试题

大连理工大学2003年硕士入学试题

数据结构部分(共75分)

一、回答下列问题(20分)

1.循环队列用数组A[0..m---1)存放其数据元素。设tail指向其实际的队尾,front指向其实际队首的前一个位置,则当前队列中的数据元素有多少个?如何进行队空和队满的判断?

2.设散列表的地址空间为0~10,散列函数为H(key)=key%11(%为求余函数),采用线性探查法解决冲突,并将键值序列{15,36,50,27,19,48}依次存储到散列表中,请画出相应的散列表;当查找键值48时需要比较多少次?

3.什么是m阶B-树?在什么情况下向一棵m阶B-树中插入一个关键字会产生结点分裂?在什么情况下从一棵m阶B-树中删除一个关键字会产生结点合并?

4.什么是线索二叉树?一棵二叉树的中序遍历序列为由djbaechif,前序遍历序列为abdjcefhi,请画出该二叉树的后序线索二叉树。

二、请用类C或类PASCAL语言进行算法设计,并回答相应问题。(45分)

1.设计一非递归算法采用深度优先搜索对无向图进行遍历,并对算法中的无向图的存储结构予以简单说明。

2.用链式存储结构存放一元多项式Pn(x)=P1xel+P2xe2+...+Pnxen,其中Pi是指数为ei的项的非零系数,且满足0≤e1≤e2...<en=n。请设计算法将多项式B=Pn2(x)加到多项式A=Pn1(x),同时对算法及链表的结点结构给出简单注释。要求利用Pnl(x)和Pn2(x)的结点产生最后求得的和多项式,不允许另建和多项式的结点空间。

3.(1){Rl,R2,...,Rn}为待排序的记录序列,请设计算法对{R1,R2,...,Rn}按关键字的非递减次序进行快速排序。

(2)若待排序的记录的关键字集合是{30,4,48,25,95,13,90,27,18),请给出采用快速排序的第一趟、第二趟排序结果。

(3)若对(2)中给出的关键字集合采用堆排序,请问初建的小根堆是什么?

(4)当给定的待排序的记录的关键字基本有序时,应采用堆排序还是快速排序?为什么?

三、算法填空(10分)

1.一棵树以孩子兄弟表示法存储,递归算法numberofleaf计算并返回根为r的树中叶子结点的个数(NULL代表空指针)。

typedef struct node{struct node *firstchild,*nextbrother;}TFNNode;

int numberofleaf(TFNNode *r)

{ int num;

if(rNULL) num=0;
else
if(r->firstchildNULL)

num= +numberofleaf;

(r->nextbrother);

else ;

return(num);

}

2.在根结点为r的二叉排序树中,插人数据域值为x的结点,要求插入新结点后的树仍是一棵二叉排序树(NULL代表空指针)。

二叉排序树的结点结构为

typedef struct node

{ int key;

struct node *lc,*rc;

}BiNode;

BiNode *insert(BiNode *r,int x)

{ BiNode *p,*q,s;
s=(BiNode
)malloc(sizeof(BiNode));

s->key=x;

s->lc=NULL;s->rc=NULL;

q=NULL;

if(r==NULL) {r=s;return®;}

p=r;

while( )

{ q=p;

if( ) p=p->lc;

else p=p->rc

}

if(xkey) ;

else ;

return;

}

相关推荐
散1128 小时前
01数据结构-01背包问题
数据结构
消失的旧时光-19438 小时前
Kotlinx.serialization 使用讲解
android·数据结构·android jetpack
Gu_shiwww8 小时前
数据结构8——双向链表
c语言·数据结构·python·链表·小白初步
苏小瀚10 小时前
[数据结构] 排序
数据结构
睡不醒的kun12 小时前
leetcode算法刷题的第三十四天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划
吃着火锅x唱着歌12 小时前
LeetCode 978.最长湍流子数组
数据结构·算法·leetcode
Whisper_long13 小时前
【数据结构】深入理解堆:概念、应用与实现
数据结构
IAtlantiscsdn13 小时前
Redis7底层数据结构解析
前端·数据结构·bootstrap
我星期八休息13 小时前
深入理解跳表(Skip List):原理、实现与应用
开发语言·数据结构·人工智能·python·算法·list
和编程干到底14 小时前
数据结构 栈和队列、树
数据结构·算法