北京航空航天大学2001年 数据结构与程序设计试题

北京航空航天大学2001年 数据结构与程序设计试题

一、问答题(本题10分)

一般情况下,线性表可以采用哪几种存储结构?请分别叙述每一种存储结构的构造原理与特点。

二、(本题10分)

已知AOE网为G=(V,E),V={v1,v2,v3,v4,v5,v6,v7,v8,V9,vl0},E={a1,a2,a3,a4,a5,a6,a7,a8,a9,al0,a11,a12,a13,a14},其中:

a1:(v1,v2)5 a2:(v1,v3)6 a3:(v2,v5)3 a4:(v3,V4)3

a5:(v3,v5)6 a6:(v4,v5)3 a7:(v4,v7)1 a8:(v4,v8)4

a9:(v5,v6)4 al0:(v5,v7)1 a11:(v6,vl0)4 a12:(v7,v9)5

a13:(v8,v9)2 a14:(v9,v10)2

注:顶点偶对右下角的数字表示边上的权值。

请按下述过程指出所有关键路径:

ee[1:10]:

le[1:10]:

e[1:14]:

l[1:14]:

其中,ee[i]与le[i]分别表示事件vi的最早发生时间与最晚发生时间;e[i]与l[i]分别表示活动ai的最早开始时间与最晚开始时间。

三、(本题共30分,每小题10分)

欲建立一文献库,其正文(文献本身)存放在一个双向循环链表的各个链结点中。

1.为便于链结点的插入、删除操作,以及按题目、发表日期、发表者名称、主题词(假设每文最多给出三个主题词)进行检索,请设计该链表的链结点结构(给出链结点每个域的名称,并说明该域内存放什么信息。注:以下各小题设计链结点结构也这样要求)。画出整个链表结构的示意图。

2.设计一个三级索引结构,其中第三级索引称为题目索引,是按文献题目构造的稠密索引,通过该级索引并根据给定题目可得到每个文献的存放地址;该级索引按文献学科类分类存放。第二级索引称为中类索引,是题目索引的索引,指出同一中类的文献题目索引的存放位置(例如农林类、气象类......,古代史类、近代史类......)。第一级索引称为大类索引,指出同一大类(如:自然科学类、历史类......)的文献的中类索引的存放位置。请设计每一级索引的结点结构,并画出该索引的整体示意图。

3.再设计一种三级索引结构,其中第三级索引仍是题目索引(与2题所述相同),第二级索引把具有相同主题词的文献题目索引地址组织在一个单链表中。第一级索引称为主题词索引,用文献给出的主题词作关键字组成杂凑表,即该级索引为一个杂凑表,能够指出具有同一主题词的文献题目索引的索引链表的第一个链结点的存储位置。该杂凑表采用链地址法处理冲突。请设计每一

级索引的结点结构,并画出该索引的整体示意图。

四、(本题10分)

已知非空线性链表由list指出,链结点的构造为

data link

请写一算法,将链表中数据域值最小的那个链结点移至链表的最前面。要求:不得额外申请新的链结点。

五、(本题15分,第1小题5分,第2小题10分)

已知求两个正整数m与n的最大公因子的过程用自然语言可以表述为反复执行如下动作:

第一步:若n等于零,则返回m;

第二步:若m小于n,则m与n相互交换;否则,保存m,然后将n送m,将保存的m除以n的余数送n。

1.将上述过程用递归函数表达出来(设求x除以y的余数可以用xMODy形式表示)。

2.写出求解该递归函数的非递归算法。

六、(本题10分)

函数void insert(char *s,char *t,int pos)将字符串t插入到字符串s中,插入位置为pos。请用C语言实现该函数。假设分配给字符串s的空间足够认字符串t插入。(说明:不得使用任何库函数。)

七、(本题15分) 。

命令sgrep用来在文件中查找给定字符串,并输出串所在行及行号。

命令格式为:sgrep[-i]filename searchstring

其中:-i:表示查找的大小写无关,省略时表示大小写相关。

filename:给定文件名。

searchstring:所要查找的串。

用C语言实现该程序,该程序应具有一定的错误处理能力。(提示:使用命令行参数)

注意:除文件及输入/出操作可使用库函数外,其他不允许使用库函数。

相关推荐
Static_Xiao1 小时前
C语言导航 7.3变量存储类型和作用域
c语言·开发语言·数据结构·算法
北国无红豆13 小时前
【数据结构】线性表-单链表
c语言·数据结构·算法
wm104313 小时前
数据结构 数组
数据结构·算法
BingLin-Liu18 小时前
蓝桥杯备考:二叉树详解
数据结构·二叉树
qw94918 小时前
MySQL(高级特性篇) 06 章——索引的数据结构
数据结构·数据库·mysql
_DCG_19 小时前
数据结构之哈希表详解
数据结构·哈希表
yuanManGan20 小时前
数据结构漫游记:动态实现栈(stack)
数据结构
紫钺-高山仰止21 小时前
【脑机接口数据处理】matlab读取ns6 NS6 ns5NS5格式脑电数据
数据结构·数据库·算法·matlab
miilue1 天前
[LeetCode] 链表完整版 — 虚拟头结点 | 基本操作 | 双指针法 | 递归
java·开发语言·数据结构·c++·算法·leetcode·链表
猫一样的妩媚1 天前
归并排序算法
数据结构·算法·排序算法