北京邮电大学1997年硕士研究生入学考试数据结构试题

北京邮电大学1997年硕士研究生入学考试数据结构试题
北京邮电大学1997年硕士研究生入学考试数据结构试题

北京邮电大学97考研题

注意事项:

1、解答试卷应字迹清楚,语以确切画图工整;

2、算法题应写明算法思想并对主要数据的类型、变量加以说明,算法力求结构清晰

简明易懂,并加必要的注释;

3、算法用类PASCAL语言编写,也可用你熟悉的语言编写,但要注明语种;

4、答题纸上。

一、有递归算法如下:(10分)

FUNCION sum (n:integer):intger;

BEGIN

IF n=0 THEN sum:=0

ELSE BEGIN

READ (x);

sum:=sum(n-1)+x

END;

END;

设初值n=4,读入 x=4,9,6,2

问:1 若为局部变量时;该函数递归结束后返回调用程序的并画出在递归过程中栈状态的变化过程;

2 若x为全程变量递归结束时返回调用程序的sum=?

二、写出下面算法中带标号语句的频度。(10分)

TYPE AR=ARRY[1…n] OF datatype;

PROCEDURE perm ( a: AR; k, n: integer);

var x: datatype; i:integer;

begin

① if k=n

then begin

②for i:=1 to n do

③ write (a[i])

writeln;

end;

else begin

④for i:=k to n do’

⑤ a[i]:=a[i]+i*i;

⑥perm (a, k+1, n);

end

end;

设k的初值等于1。

三、已知模式串t=’a b c a a b b a b c a b’写出用KMP法求得的每个字符对应的next和

nextval函数值。(10分)

四、写出或画出下面两题的结果:(10分)

1.归并段长度为9,4,7,3,8,6,15试画出3路平衡最佳归并树。

2.有二叉树中序序列为:A B C E F G H D

后序序列为:A B F H G E D C

请画出此二叉树。

五、求解下面有向图的有关问题:(15分)

1 判断此有向图是否有强连通分量?若有请画出;

2 画出此有向图的十字链表存储结构;其顶点表结点为:

data firstin firstout

data ------顶点的有关信息;

firstin------指向一该顶点为弧头的第一条边的指针;

firstout-------指向一该顶点为弧尾的第一条边的指针,

其表结点的结构为:

tailvex headvex weight hlink tlink

tailvex,headvex-------分别为弧尾和弧头在图中的序号;

weight---------弧上的权值;

hlink,tlink--------分别为指向弧头相同和弧尾相同的下一条边的指针。

3 设其顶点a, b, c, d, e表示一个乡的5个村庄,弧上的权值表示为两村之间的距离;

(1) 求每个村庄到其他村庄的最短距离;

(2) 乡内要建立一所医院,问医院设在哪个村庄才能使各村离医院的距离较近。六、解下面二叉排序树的有关问题:(10分)

1.有一组关键字为{7,5,8,16,12,18,14,6,4,10,19,13,15,17,20},为使查找速度最快需要构造最佳二叉排序树(平均查找长度最小),试画出此二叉排序树并说明其基本思路(方法);

2.下面的递归算法,减少进栈、出栈次数;

procedure bfind (p:bptr; k:keytype);

{在指针p所指的二叉排序树上查找其关键字等于给定值k的记录当查找成功时返回所找结点的指针}

begin

if p≠nil

then if p↑.key=k

then return(p) {查找成功}

else if k

then bfind(p↑.lc,k)

else bfind(p↑.rc,k)

else return(p) {查找失败,返回空指针}

end;

七、有几个记录存储在带头结点的双向链表中,现用双向起泡排序法对其按上升序进行排

请写出这种排序的算法。

(注:双向起泡排序即相临两趟排序方向相反起泡)(15分)

八、设二叉树的结点结构是其中Lc,Rc分别为指向左、右子树根的指针,

data是字符型数据。试写出算法,求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。(20分)

北邮数据库实验报告

数据库实验报告(四) 姓名:学号:班级: 1.简单查询: (1) 查询“数据库开发技术”课程的学分; SQL语句: select credit from course where course_name='SQL Server数据库开发技术'; 或者模糊查询: select credit from course where course_name like'%数据库开发技术'; 执行结果: (2) 查询选修了课程编号为“dep04_s004”的学生的学号和成绩,并将成绩按降序输出; SQL语句: select student_id,grade from student_course where course_id='dep04_s003' order by grade desc; 执行结果:

(3) 查询学号为“g9940205”的学生选修的课程编号和成绩; SQL语句: select course_id,grade from student_course where student_id='g9940205'; 执行结果: (4) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。 SQL语句: select student_id,grade from student_course where course_id='dep04_s001'and grade>'85'; 执行结果:

2.在多表连接的查询实验中,用Transact SQL语句完成以下查询操作: (1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩; SQL语句: select student.student_id,student_name,grade from student,student_course where student.student_id=student_course.student_id and student_course.course_id='dep04_s002' and student_course.grade>'85'; 执行结果: (2)查询所有学生的学号、姓名、选修的课程名称和成绩; SQL语句: select student.student_id,student_name,course_name,grade from student,course,student_course where student.student_id=student_course.student_id and student_course.course_id=course.course_id; 执行结果:

数据结构期末考试试题及答案

《数据结构》期末考试试题及答案 (2003-2004学年第2学期) 单项选择题1、C 2、D 3、A 4、D 5、C 6、D 7、A 8、B 9、C 10、C 、 1. 对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为 (c )。 (A)、正确性但).可行性(C).健壮性 2 ?设S为C语言的语句,计算机执行下面算法时, for(i=n-1 ; i>=0; i--) for(j=0 ; jvi; j++) (A)、n2(B). O(nlgn) 3?折半查找法适用于( a (D). 输入性 算法的时间复杂度为(d S; (C). O(n) (D). )。 O(n2) (A)、有序顺序表(B)、有序单链表 (C)、有序顺序表和有序单链表都可以 4 .顺序存储结构的优势是( d )。 (A)、利于插入操作(B)、利于删除操作 (C)、利于顺序访问(D)、利于随机访问 5. 深度为k的完全二叉树,其叶子结点必在第 (A)、k-1 ( B)、k (C)、k-1 和 6. 具有60个结点的二叉树,其叶子结点有 (A)、11 ( B)、13 ( C)、48 (D)、无限制 c )层上。 (D)、1 至 k 12个,则度过1 (D)、37 k 的结点数为( 7 .图的Depth-First Search(DFS) 遍历思想实际上是二叉树( 法的推广。 (A)、先序(B)、中序(C)、后序(D)、层序 8.在下列链队列Q中,元素a出队的操作序列为( a )遍历方 front (A )、 (B )、 (C)、 (D )、p=Q.front->next; p->next= Q.front->next; p=Q.front->next; Q.front->next=p->next; p=Q.rear->next; p->next= Q.rear->next; p=Q->next; Q->next=p->next; 9. Huffman树的带权路径长度WPL等于( (A)、除根结点之外的所有结点权值之和(C)、各叶子结点的带权路径长度之和(B) 、 ) 所有结点权值之和 根结点的值 b ■

北邮大三数据库实验六数据查询分析实验

实验六数据查询分析实验 实验目的 通过对不同情况下查询语句的执行分析,巩固和加深对查询和查询优化相关理论知识的理解,提高优化数据库系统的实践能力,熟悉了解Sybase中查询分析器的使用,并进一步提高编写复杂查询的SQL 程序的能力。 实验内容 1.索引对查询的影响 (1)对结果集只有一个元组的查询分三种情况进行执行(必如查询一个具体学生的信息):不建立索引,(学号上)建立非聚集索引,(学号上)建立聚集索引。 建立聚集索引: create clustered index student on student(student_id) go 建立非聚集索引: create nonclustered index student_index on student(student_id) go 用查询分析器的执行步骤和结果对执行进行分析比较。 select*from student where student_id='30201' 不建立索引 建立聚集索引

建立非聚集索引 (2)对结果集中有多个元组的查询(例如查看某门成绩的成绩表)分类似(1)的三种情况进行执行比较。 select*from student where student_id>'30401' 不建立索引:

建立聚集索引: 建立非聚集索引: (3)对查询条件为一个连续的范围的查询(例如查看学号在某个范围内的学生的选课情况)分类似(1)的三种情况进行执行比较,注意系统处理的选择。 select*from student where student_id between'31201'and'31415' 不建立索引:

北邮-数据库原理与应用-阶段作业二

一、单项选择题(共10道小题,共100.0分) 1. 在E-R概念模型中,一个学生是实体,学生实体可由学号,姓名,性别等属性组成,那么性别的取值范 围是实体的_____。 A. 主码 B. 属性 C. 联系 D. 域 2. 设有关系模式EMP(职工号,姓名,年龄,技能)。假设职工号唯一,每个职工有多项技能,则 EMP表的主键是_____。 A. 职工号 B. 姓名,技能 C. 技能 D. 职工号,技能 3. 在关系模型中,利用____________的方法来实现数据之间的联系。 A. 指针 B. 在一个关系中包含另一个关系的属性 C. 文件名 D. 父子关系

4. 定义外键实现的是______。 A. 实体完整性 B. 参照完整性 C. 用户定义的完整性 D. 实体完整性、参照完整性和用户定义的完整性 5. 有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则 属于_____。 A. 实体完整性规则 B. 引用完整性约束 C. 用户自定义完整性规则 D. 关键字完整性约束 6. 从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是 _______。 A. M端实体的关键字 B. N端实体的关键字 C. M端实体关键字与N端实体关键字组合 D. 重新选取其他属性

7. 将局部E-R 图合并成全局E-R 图时可能出现冲突,下列选项中不属于合并冲突的是______。 A. 属性冲突 B. 命名冲突 C. 结构冲突 D. 语法冲突 8. 数据库系统的体系结构分为三个层次,即______。 A. 模式、模型、视图 B. 外模型、概念模型 C. 外模式、逻辑模式、内模式 D. 关系模型、网状模型、层次模型 9. 设R(U)是属性集U上的关系模式,X、Y是U的子集。若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称________。 A. Y函数依赖于X B. Y对X完全函数依赖 C. X为U的候选码 D. R属于2NF

北邮算法与数据结构习题参考标准答案

作业参考答案 一、(带头结点)多项式乘法C= A×B: void PolyAdd ( list &C,listR) //R为单个结 点 { p=C; while((!p->next) &&(p->next->exp>R->exp)) p=p->next; if ((p->next) ||(p->next->exp<R->exp)) {R->next=p->next;p->next=R;} else { p->next->inf +=R->inf;delete R; if (!p->next->inf) { R=p->next;p->next=R->next;delete R; } } } voidPolyMul (list A, list B,list &C ) { C=new struct node; C->next=NULL;q=B->next; While (q ) { p=A->next; while(p ) { r= new struct node;r->exp= p->exp +q->exp; r->inf =p->inf* q->inf; PolyAdd(C,r); p=p->next; } q=q->next; } } 二、梵塔的移动次数: 已知移动次数迭代公式为:M ( n)= 2M (n-1 ) + 1 初值为: M( 0 ) =0 则:M (n)= 2 (2M

(n-2 ) + 1) + 1 =4M( n-2 )+ 3 = 8M(n-3 )+ 7 =2i M ( n-i ) + 2i– 1 若n=i,则M(n-n) =0,故:M ( n ) =2nM( n-n)+2n–1 =2n– 1 所以,梵塔的移动次数为2n– 1次。 三、简化的背包问题: void Pack( int m, int i, int t )// 初始值为:11t { for (k=i; k<=n; k++) { solution[m] = weight[k]; if( t == weight[k]) { for ( j=1; j<=m;j++) cout<<solution[j];cout< weight[k]) Pack (m+1,k +1,t - weight[k] ); } } 四、判断括号是否配对: int Correct( strings ) { Inistack(Q); for( i=0;s[i]== ‘=’;i++ )// 表达式以‘=’结束 { switch (s[i] ) { case‘(’: case‘[’: case ‘{’:

北邮大数据库实验三

实验三完整性及视图、索引 视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已。索引能够提供一种以一列或多列的值为基础迅速查找数据表(或视图)中行的能力,用来快速访问数据表(或视图)中的数据。触发器是一种特殊的存储过程,它在特定语言事件发生时自动执行,通常用于实现强制业务规则和数据完整性。 【实验目的】 掌握MySQL视图、索引的使用,理解什么是数据库的完整性。 【实验要求】 1、每完成一个任务,截取全屏幕快照1~3作为中间步骤和结果的贴图,粘贴在最后的实验报告中。 2、除了使用我们提供的数据外还要自己向表中添加些新数据,以保证每个查询结果不为空集,或计数结果不为0。 3、思考题可以选做,作为优秀加分的依据。 【实验任务】 1、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号 及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

2、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号、 课程名及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

3、为院系代码表(dept_code)创建基于“院系代码”列的索引。 4、为教室信息表(classroom_info)创建基于room_id列的惟一索引并插入一 条room_id列与表中已有的值重复的数据,观察系统的反馈。

5、重新修改表stud_info、lesson_info及stud_grade,修改的容为: ①为三表增加主码约束,stud_info的主码为stud_id,lesson_info的主码为 course_id,stud_grade的主码为stud_id、course_id。

数据结构 期末考试复习题及答案

1.什么是最小生成树?简述最小生成树的Prime算法的思想。 答:最小生成树就是构造一棵生成树,使得树上各边的代价之和最小。 普里姆算法(Prim)的基本思想: 从连通网络N = { V, E }中的某一顶点u0 出发,选择与它关联的具有最小权值的边(u0, v),将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(u, v),把它的顶点加入到集合U中。如此继续下去,直到网络中的所有顶点都加入到生成树顶点集合U中为止。 2.简述AOV网络中为何不能出现回路,如何判断AOV网络是否有回路? 答:在AOV网络中,如果活动vi必须在vj之前进行,则称为存在有向边;在AOV网络中不能出现有向回路,如果出现了,则意味着某项活动应以自己作为先决条件。 如何检查AOV网是否存在有向环: 检测有向环的一种方法是对AOV网络构造它的拓扑有序序列。即将各个顶点(代表各个活动)排列成一个线性有序的序列,使得AOV网络中所有应存在的前驱和后继关系都能得到满足。(1)这种构造AOV网络全部顶点的拓扑有序序列的运算就叫做拓扑排序。 (2)如果通过拓扑排序能将AOV网络的所有顶点都排入一个拓扑有序的序列中,则该AOV 网络中必定不会出现有向环;相反,如果得不到满足要求的拓扑有序序列,则说明AOV网络中存在有向环,此AOV网络所代表的工程是不可行的。

3.为何需要采用循环队列?n个空间的循环队列,最多存储多少个元素?为什 么? 答:循环队列以克服顺序队列的"假上溢"现象,能够使存储队列的向量空间得到充分的利用,所以采用循环队列。 n个空间的循环队列,最多存储n-1个元素,那是为了区别循环队列的队空和队满的条件。队空的条件是Q.front==Q.rear,而队满的条件是(Q.rear+1)%N==Q.front(N是数组中单元的总数),因此,Q.rear所指向的数组单元处于未用状态。所以说,N个单元的数组所存放的循环队列最大长度是N-1。 4.简述堆的删除算法,其删除的是那个值? 答:堆的删除算法:首先,移除根节点的元素(并把根节点作为当前结点)比较当前结点的两个孩子结点的元素大小,把较大的那个元素移给当前结点,接着把被移除元素的孩子结点作为当前结点,并再比较当前结点的孩子的大小,以此循环,直到最后一个叶子结点的值大于或等于当前结点的孩子结点或孩子结点的位置超过了树中元素的个数,则退出循环。最后把最后叶子结点的元素移给当前结点。 在堆的算法里面,删除的值为根值。 5.线索二叉树中,什么是线索,它是否唯一?可有根据什么顺序得到?

北邮算法与数据结构习题参考答案

北邮算法与数据结构习题参考答案

作业参考答案 一、(带头结点)多项式乘法 C = A×B: void PolyAdd ( list &C, list R) // R 为单个结点 { p=C; while ((!p->next) && (p->next->exp>R->exp)) p=p->next; if ((p->next) || (p->next->expexp)) { R->next=p->next; p->next=R; } else { p->next->inf += R->inf; delete R; if ( ! p->next->inf ) { R=p->next; p->next=R->next; delete R; } } } void PolyMul ( list A, list B, list &C ) { C=new struct node; C->next=NULL; q=B->next; While ( q ) { p=A->next; while ( p ) { r = new struct node; r->exp = p->exp + q->exp; r->inf = p-> inf * q->inf; PolyAdd(C, r); p=p->next; } q=q->next; } } 二、梵塔的移动次数: 已知移动次数迭代公式为:M ( n ) = 2M ( n-1 ) + 1 初值为:M ( 0 ) = 0 则:M ( n ) = 2 ( 2M ( n-2 ) + 1 ) + 1 = 4M ( n-2 ) + 3 = 8M ( n-3 ) + 7 = 2i M ( n-i ) + 2i– 1 若n=i ,则M ( n-n ) = 0,故:M ( n ) = 2n M ( n-n ) + 2n– 1 = 2n– 1

北邮网院数据库原理与应用(新)阶段作业

一、单项选择题(共10道小题,共分) 1.在下列关于关系的陈述中,错误的是_____。 A.表中任意两行的值不能相同 B.表中任意两列的值不能相同 C.行在表中的顺序无关紧要 D.列在表中的顺序无关紧要 知识点:关系 Relation 学生答 案:[B;] 标准答 案: B; 得分:[10] 试题分 值: 2.已知关系R如下图所示,可以作为关系R主键的属性组是_____。 A.ACD B.ABC C.ABD D.BCD

3.关系数据库中,实现实体之间的联系是通过表与表之间的______。 A.公共索引 B.公共存储 C.公共元组 D.公共属性 4.定义外键实现的是______。 A.实体完整性 B.参照完整性 C.用户定义的完整性 D.实体完整性、参照完整性和用户定义的完整性

5.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则 属于_____。 A.实体完整性规则 B.引用完整性约束 C.用户自定义完整性规则 D.关键字完整性约束 6.若两个实体之间的联系是1:m,则实现1:m联系的方法是______。 A.在"m"端实体转换的关系中加入"1"端实体转换关系的码 B.将"m"端实体转换关系的码加入到"1"端的关系中 C.在两个实体转换的关系中,分别加入另一个关系的码 D.将两个实体转换成一个关系

7.ER图是一种直观表示_______的工具。 A.结构数据模型 B.关系数据模型 C.逻辑数据模型 D.层次和网状模型 8.数据库三级模式体系结构的划分,有利于保持数据库的______。 A.数据独立性 B.数据安全性 C.结构规范化 D.操作可行性

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

北邮数据库期末213-214(a)无答案版(2)

北京邮电大学学年第 2 学期 《数据库应用技术》期末考试试题(A) 一.单项选择题(本大题共26小题,每小题1分,共26分)1.数据库系统依靠 ( )?支持数据独立性。 A)具有封装机制B)定义完整约束条件

C)模式分级,各级模式之间的映像D)DDL语言与DML语言互相独立 2. SQL 的DML 包括的语句有()。 A)ROLLBACK,COMMIT C)GRANT,REVOKE B)CREATE,DROP,ALTER D)SELECT,INSERT,DELETE,UPDATE 3. 如果关系R和S进行自然连接时,只把R中原该舍弃的元组保存到新关系中,这种操作称为 ( )?。 A)外连接B)内联接C)左外连接D)右外连接 4. 层次、网状和关系模型是按照( )?来分类的逻辑数据模型。 A)数据完整性的类型B)存储结构的类型 C)数据结构的类型D)数据操作的类型 5. 对数据库模式进行规范化处理,是在数据库设计的( )?。 A)需求分析阶段????B)概念设计阶段???? C)逻辑设计阶段???? D)物理设计阶段 6. 执行SQL 语句:SELECT SNAME,AGE FROM S WHERE SEX=‘女’则该语句对关系S 执行的操作有:() A)交(∩)和选择(σ)B)选择(σ)和投影(π) C)并(∪)和投影(π)D)选择(σ)和笛卡儿积(×) 7. 设有关系模式R(A,B,C),根据语义有如下函数依赖集:F={A →B,(B,C)→A}。关系模式R的规范化程度最高达到()。 A)1NF B)2NF C)3NF D)BCNF 8. 下列哪一类视图上可以进行插入、删除和更新操作()。 A) 带表达式的视图B) 连接视图C) 行列子集视图D) 分组视图

北邮 计算机学院 数据结构 期末试题

O S TEST 1.Fill in the blanks with the proper words.( 10 cents) 1. Operating system is a program that acts as an intermediary between _____ and ______. 2.To prevent user programs from interfering with the proper operation of the system, the hardware has two modes: _________, __________. 3.___________ is the separation of user ______ from physical memory. User would be able to write programs for an extremely large __________ space, simplifying the programming task. 4.The file system consists of two distinct parts: _______, each storing related data and _______, which organizes and provides information about all the files in the system. 5.System call provide the interface between _____ and _____ . 6.________ provide an object-oriented way of implementing file systems, and it allows the same system call interface (the API) to be used for different types of file systems. 7. A process is a program in execution. A process needs certain resources, including ____, ______, files, and ______ to accomplish its task. 8.Disk-scheduling algorithms can improve _________, _________, and ________. 9.The primary distinction between long-term scheduler and short-term scheduler is _______. 10.The device drivers present a uniform device-access interface to ______ , much as system calls provide a standard interface between the application and the operating system. 2. Choose the best answer, and each blank has one answer. (23 cents) 1. Operating system is a kind of(1) , (2) is not the main problem it handles. (1). A. Application software; B. System software; C. Common software; D. Software package; (2). A. managing the bar-machine; B. designing, providing the interface between user program and hardware system; C. managing the information resource of the computer; D. the compiling of the high-level program-designing language. 2. The utilization of the memory can be improved by __(1)___. Its basic task is __(2)_ for each program; and each program can run safely and separately, main by __(3)____. (1), (3): A. memory-allocating B. memory-protecting

数据结构试卷(20050108)

数据结构期末试卷2005/01/08 班级__________姓名___________学号_______成绩___________ 一、填空和选择(共15分) 1.在n个元素的顺序表中插入或删除一个元素,需平均移动______个元素。 2.在双向链表p所指结点之后插入s所指结点的操作是______________ A.p→right=s; s→left=p; p→right→left=s; s→right=p→right; B.p→right=s; p→right→left=s; s→left=p; s→right=p→right; C.s→left=p; s→right=p→right; p→right=s; p→right→left=s; D.s→left=p; s→right=p→right; p→right→left=s; p→right=s; 3.在数据结构中,从逻辑上可以把数据结构分成_________。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 4.算法分析的两个主要方面是____。 A.空间复杂性和时间复杂性B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 5.线性表的顺序存储结构是一种______的存储结构,线性表的链式存储结构是一种______的存储结构。 A.随机存取B.顺序存取C.索引存取D.散列存取 6.向量、栈和队列都是______结构,可以在向量的________位置插入和删除元素;对于栈只能在_________插入和删除元素;对于队列只能在_______插入元素和在_______删除元素。 7.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为___________。 A.r-f B.r-f+1 C.(r-f) mod n +1 D.(r-f+n) mod n 8.将下三角矩阵A[7,7]的下三角部分逐行地存储到起始地址为1000的内存单元中(下标从0开始,不存储上三角部分),已知每个元素占4个单元,则A[5,4]的地址是_____________。 9.某二叉树的前序遍历结点访问顺序是abdgcefh, 中序遍历的结点访问顺序是dgbaechf, 则其后序遍历的结点访问顺序是______ A.bdgcefha B.gdbecfha C.bdgaechf D.gdbehfca

北邮数据库实验四数据库模式的设计

北京邮电大学 实验报告 课程名称数据库 实验名称数据库模式的设计 班级 姓名 学号 指导老师 成绩_________ 实验

.1.实验目的 1.了解E-R图的基本概念和根据数据需求描述抽象出E-R图并将其转换为数据库逻辑模式进而实现数据库中的表和视图。 2.通过进行数据库表的建立操作,熟悉并掌握Power designer数据库表的建立方法,理解关系数据库表的结构,巩固SQL标准中关于数据库表的建立语句。 3.通过对Power designer中建立、维护视图的实验,熟悉Power designe中对视图的操作方法和途径,理解和掌握视图的概念。 .2.实验内容 1 针对以下需求信息,尽可能全面地给出各个实体的属性和实体之间的系。 在线考试系统需求信息如下: 在线考试系统是关于一门课程的授课教师安排自己的学生在线参加各种考试的应用,如果阶段性考试,期中考试和期末考试等。在线考试系统要求有用户的登录和登出。在线考试系统主要包括用户管理、试题管理、试卷管理和考试管理功能。需要实现教师输入试题,从试题生成试卷;学生参加考试获取试卷,提交答案和给出考试成绩等主要逻辑功能。 系统的用户包括教师、学生角色,一个用户有且只有一种角色。 鉴于在线考试的客观条件限制,试题完全采用单项选择形式。试题有所属知识点、内容、分值、备选答案和唯一正确答案等属性组成。课程的知识点是确定的,可以扩展,一道试题只能考察一个知识点。 教师录入各种试题构成题库,并根据考察的知识点不同生成试卷,相同知识点的试题只能在一张试卷中出现一次,试卷由试卷标题和一定数量(即知识点的数量)的试题组成。试卷生成后,教师指定某次考试使用的试卷,学生参加考试使用统一的试卷,考试信息还包含

北京邮电大学2018年《数据库系统原理》考研大纲

北京邮电大学2018年《数据库系统原理》考研大纲 一、考试要求 要求考生熟悉数据库系统的基本概念、原理和基础理论,熟悉关系数据模型、关系代数、关系系统、关系数据库设计方法,以及数据库恢复、并发控制、安全性、完整性等数据库系统技术;能够熟练使用SQL,具备使用数据库管理系统和设计数据库的能力。 二、考试内容 (一)概论 数据、数据库、数据库管理系统、数据库系统、数据库系统的特点等基本概念的定义、数据管理的三个阶段; 数据模型:概念模型、关系模型、面向对象等的构造形式及特点; 数据库系统结构:三级结构、两级映像。 (二)关系数据库 关系模型、关系模式、关系数据库等基本概念以及关系代数理论; 能够运用关系代数(并、交、差、除、笛卡尔积、选择、投影、连接)完成关系运算。 (三)SQL语言 SQL特点、SQL标准; 各类SQL语句的语法构成、语义与功能,能够运用标准SQL完成数据存取; 视图的概念、视图的定义、视图操纵、视图的更新; 存储过程、触发器。 (四)关系存储和查询优化 表的存储、索引结构、聚簇结构; 关系系统分类; 查询优化概念、查询优化方法。 (五)数据库设计 数据库设计的步骤,以及每个步骤重点关心的问题; 实体联系分析,ER模型,ER模型向关系模型转换规则; (六)关系规范化 数据库设计的冗余和异常问题; 函数依赖、多汁依赖、逻辑蕴涵、阿姆斯特朗公理;

基本依赖闭包、候选码; 无损分解,1NF、2NF、3NF、BCNF、4NF定义与算法。 (七)安全性和完整性 数据库安全性控制的基本技术:用户、角色、权限、授权; 完整性分类和完整性控制方法。 触发器的使用方法。 (八)事务管理 事务的概念、性质,事务的实现; 数据库故障、日志,数据库恢复原理和方法; 并发问题:数据不一致性; 数据锁、封锁粒度、封锁协议, 死锁检测和死锁处理; 三、试卷结构 考试题型:填空题、选择题、简答题、计算题、设计题 文章来源:文彦考研

北邮数据库期中知识点总结

Chapter 1. Introduction to Database 数据库很重要 数据库的前身是文件系统: 概念自己管自己–> 数据孤立冗余数据依赖性差(一个改了与它相关的全部重写)文件格式不相容查询固定应用程序翻新 数据库的定义 数据库表现了实体(staff)属性(staffno)逻辑关系(外键) DBMS 定义 提供了DDL DML 语句 视图机制 环境五要素 硬件(电脑) 软件(APPDBMS自身) 数据 过程(登陆) 人(DA DBA ,DB designer ,app developer ,user) 历史 第一代SYSTEM R 第二代关系DBMS 第三代面向对象的对象关系的 优缺点

Chapter 2. Database Environment 最常用的DBMS就是ANSI-SPARC结构目标 结构 外部用户【视图】 概念团体【表】 内部文件【索引】 层与层之间的关系 外部/概念映射 概念/内部映射 Chapter 4. Relational Algebra 根据2.3 data model 我们知道 数据模型分为: 面向对象的 基于关系的: Relation data model Network data model Physical data model 物理的

而数据模型的三个组成部分为: ·结构[由一组创建数据库的规则组成](SEE IN CHAPTER 3 )数据模型之关系模型的结构是用表表示的,表的组成,也就是表的结构,如行,列等在第三章讲过。 ·操作 这一章主要讲关系模型的操作,该操作是通过关系代数来完成的。 ·完整性 SEE IN 3.3 关系模型的完整性: NULL 没有值得时候用NULL表示而不是0或空格 Entity integrity 主键不能为空 Reference 如果一个键是外键不能凭空在这里加东西 Enterprise 自定义约束 关系的操作是闭包的,关系的运算结果还是关系。 五大基本关系运算: ·选择selection 相当于WHERE ·投影projection =SELECT ·笛卡儿积cartesian product ·并union

北邮数据结构期末试题与答案

试卷四 一. 填空题(22 分,每空 1 分) 1.设待处理的问题规模为n,若一个算法的时间复杂度为一个常数,则表示为(),若一个算法的执行次数为n*log25n,则时间复杂度表示为()。 2.数据的逻辑结构主要分为()、()、()和()四种。 3.一棵度为3 的树,若度为1 的结点有5 个,度为2 的结点有8 个,度为3 的结点有12 个,则该树有()叶子结点。 4.设一个空栈,栈顶指针为1000H,若有输入序列为1、2、3、4、5,经过push、push、pop、push、pop、push、push 后,输出序列是(),若输入的每个数占4 个字节的空间,则栈顶指针为()H。 5.按照()遍历二叉排序树得到的序列是一个有序序列。 6.若哈夫曼树一共有n 个叶子结点,则该哈夫曼树总结点数为()。 7.设C++中存储三维数组A mnp,则第一个元素为a000,若按行优先存储,则a ijk 前面共有()个元素;若按列优先存储,则a ijk 前面共有()个元素。 8.设8 行8 列的二维数组起始元素为A[0][0],按行优先存储到起始元素下标为0 的一维数组B 中,则元素A[5][3]在B 数组中的位置为B[()]。 9.图的深度优先遍历类似于树的()遍历,它所用的数据结构是(),图的广度优先遍历类似于树的()遍历,使用的数据结构是()。 10.设无向图G 中顶点数为n,则图G 至少有()边,至多有()边;若G 为有向图,则至少有()弧,至多有()弧。 二. 单选题(23 分,每空 1 分) 1.顺序表是一种采用()存取方式的()存储结构,链表是一种采用 ()存取方式的()存储结构。 A.顺序 B. 随机 C.链式 D. 有序 2.STL 中最常用的用于处理顺序表问题的容器是(),STL 中用于处理链表问题的容器是()。 A. vector B. map C. list D.stack

北邮算法与数据结构习题参考答案

作业参考答案 一、(带头结点)多项式乘法 C = A×B: void PolyAdd ( list &C, list R) // R 为单个结点 { p=C; while ((!p->next) && (p->next->exp>R->exp)) p=p->next; if ((p->next) || (p->next->expexp)) { R->next=p->next; p->next=R; } else { p->next->inf += R->inf; delete R; if ( ! p->next->inf ) { R=p->next; p->next=R->next; delete R; } } } void PolyMul ( list A, list B, list &C ) { C=new struct node; C->next=NULL; q=B->next; While ( q ) { p=A->next; while ( p ) { r = new struct node; r->exp = p->exp + q->exp; r->inf = p-> inf * q->inf; PolyAdd(C, r); p=p->next; } q=q->next; } } 二、梵塔的移动次数: 已知移动次数迭代公式为: M ( n ) = 2M ( n-1 ) + 1 初值为: M ( 0 ) = 0 则: M ( n ) = 2 ( 2M ( n-2 ) + 1 ) + 1 = 4M ( n-2 ) + 3

= 8M ( n-3 ) + 7 = 2i M ( n-i ) + 2i– 1 若n=i ,则M ( n-n ) = 0,故:M ( n ) = 2n M ( n-n ) + 2n– 1 = 2n– 1 所以,梵塔的移动次数为2n– 1次。 三、简化的背包问题: void Pack ( int m, int i, int t ) // 初始值为: 1 1 t { for ( k=i; k<=n; k++ ) { solution[m] = weight[k]; if ( t == weight[k] ) { for ( j=1; j<=m; j++ ) cout< weight[k] ) Pack ( m+1, k+1, t - weight[k] ); } } 四、判断括号是否配对: int Correct ( string s ) { Inistack(Q); for ( i=0; s[i] == ‘=’; i++ ) // 表达式以‘=’结束 { switch ( s[i] ) { case ‘(’: case ‘[’: case ‘{’: Push ( Q, s[ i ] ); break; case ‘)’: case ‘]’: case ‘}’:

数据结构期末考试试题答案详解

《数据结构》试题(100分) (供2005级信息管理与信息系统本科专业使用) 学号: 姓名: 座号: 系别: 年级: 专业: 总分合计人: 复核人: 说明:本试卷分为两部分,第I 卷(选择题和判断题)必须在“答题卡”上按规定要求填、涂;第II 卷直接在试卷上作答。不按规定答题、填涂,一律无效。 第I 卷 一、试题类型:单项选择题(每小题2分,共40分) (类型说明:在每小题列出的四个选项中只有一个选项是符合题目要求的,请选出正确选项并在“答题卡”的相应位置上涂黑。多涂、少涂、错误均无分。) 1. 算法分析的两个主要方面是: ( ) (A) 空间复杂性和时间复杂性 (B) 正确性和简明性 (C) 可读性和文档性 (D) 数据复杂性和程序复杂性 2. 计算机算法指的是: ( ) (A) 计算方法 (B) 排序方法 (C) 解决问题的有限运算序列 (D) 调度方法 3. 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称为:( ) (A )存储结构 (B )逻辑结构 (C )顺序存储结构 (D )链式存储结构 4.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 。 ( ) (A )110 (B )108 (C )100 (D )120 5. 链接存储的存储结构所占存储空间: ( ) (A )分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 (B )只有一部分,存放结点值 (C ) 只有一部分,存储表示结点间关系的指针 (D ) 分两部分,一部分存放结点值,另一部分存放结点所占单元数 6. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址: ( ) (A )必须是连续的 (B )部分地址必须是连续的 (C )一定是不连续的 (D )连续或不连续都可以

相关文档
最新文档