您的位置:首页 > 理论基础 > 数据结构算法

深圳大学 考研真题 计算机 数据结构

2008-05-14 10:19 344 查看
2002年深圳大学硕士研究生入学考试专业课试卷
(答题必须写在答题纸上,写在本试题无效)
专业:计算机应用技术考试
科目:数据结构
一、(10%)写void getnext(char pat[],int next[]),求模式par的next值(KMP算法)

二、(10%)构造+,-,*,/,%的huffman编码,它们的权分别是43,27,15,9,6。

三、(20%)设树用“孩子兄弟链接法”存储,结点结构如下:struct treenode {int data ;struct treenode *child,*brother;};

1、 写函数void treecopy (struct treenode *root,struct treenode **pt);复制根指针为root的树,复制出的树的跟为*pr。

2、 写函数void leveltraverse(struct treenode *root),逐层(每层按子树顺序)周游指针为root的树。

四、(20%)用两种排序算法对整数序列58,39,3,94,38,10,70,24,73,52,27进行升序排序,第一趟的结果分别为: 39,58,3,94,10,38,24,70,52,73,27 27,73,70,58,52,10,3,24,39,38,94

1、 它们分别是哪两种排序算法?

2、 它们的平均时间复杂度及空间复杂度各是多少?是否稳定?

五、(20%)采用拉链法解决冲突的哈希表说明如下: Struct node {unsigned int data; Struct node *next;}; #define LEN 12 Struct node *hashrab[LEN];

1、 用除留余数法写哈希函数 int hash(unsigned int key).

2、 写Struct node *lookup(unsigned int key),在表中查找key,返回其结点指针;若未找到,先将其插入表中,再返回其结点指针。

3、 Hashtab的裂填因子是否为已在表中的整数除以LEN?为什么?

六、(20%)现有有向图G={V,E},其中V={0,1,2,3,4,5,6,7,8},E={<0,2>,<0,7>,<1,2>,<1,3>,<1,4>,<2,3>,<2,8>,<3,5>,<3,6>,<4,5>,<7,8>,<8,6>}.

1、 画出该图并写出邻接矩阵。

2、 写void roposort(int adjmat[9][9],int result [] ),根据邻接矩阵adjmat对该图拓扑排序,结果存于result中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: