当前位置:文档之家› 河南师范大学846数据结构与C程序设计

河南师范大学846数据结构与C程序设计

河南师范大学846数据结构与C程序设计
河南师范大学846数据结构与C程序设计

来源网络,造福学生

———————欢迎下载,祝您学习进步,成绩提升———————

2018年攻读硕士学位研究生入学考试试题

科目代码与名称:846数据结构与C程序设计

适用专业或方向:计算机科学与技术(各方向)

考试时间:3小时满分:150分试题编号:B

(必须在答题纸上答题,在试卷上答题无效,答题纸可向监考老师索要)

第一部分数据结构(80分)B卷

一、单项选择题(20个选题,每选题2分,共40分)

(备注:答题时每连续的5个为一组,组与组之间要留有空隙,

例如,ACCCD ACDAC)

1.从逻辑结构来说,栈属于O

A.树形结构

B.散列表结构

C.线性结构

D.图状结构

2.程序段

for (i=0,k=0; i<100; i++)

for (j=0; j<10000; j++) k++;

的时间复杂度是。

A.0(1)

B. 0(n*m)

C. 0(n+m)

D. 0(Max(n, m))

3.若线性表釆用顺序存储结构,则在删除一个元素时需要移动的元素的次数与有关。

A.首地址

B.元素的值

C.线性表的有序性

D.删除位置

4.在一个带头结点的表长为5的循环单链表中,若其头指针为L,则在它的第一个元素结前插入S所指结点,则执行O

A.s->next=L->next; L->next=s;

B. L->next=s-〉next-〉next;

C. s->next=L->next~>next; L~>next=s

D. s->next=L-〉next; L->next=L;

5.队列操作的特征是o

A.先进先出

B.先进后出

C.插入在队头

D.删除的是队尾

6.在递归程序的执行过程中要用到。

A.栈

B.循环结构

C.顺序结构

D.队列

第1页,共7页

7.用x表示入栈操作,用s表示出栈操作,若栈的初始状态为空,则下面—合法的操作序列。

A. xssssxxx

B. xssxxsxx

C. XXSXSSX

D. SSSXXXXSSXX

第2页,共7页

第3页,共7页

D. 19, 78, 32, 52, 12, 44, 66 .是

错误的。

C, 12, 19, 32, 52, 66, 44, 78 18. 下列对平衡二叉树的描述中

A.空树是平衡二叉树

B,平衡二叉树上每个结点的平衡因子只能是0、1、T

C. 平衡二又树是左子树的深度与右子树深度相等

D. 平衡二叉树上每个结点的左子树的深度与右子树深度之差的绝对值小于等于1 19. 设哈希函数是H(key)=key%7,表中已有数据的关键字序列为{66, 52, 12, 19, 78, 32, 44},

用链地址的方法解决冲突,则在不考虑査找不成功且等概率的情况下,平均査 找长度为— A. 9/7

B. 7/9

C. 10/7

D. 11/7

),b )的表头为 O

A. a

B. (a)

C. (a, c)

D. ((a, c))

9. 二维数组S 行下标i 从。到8,列下标j 从0到7,每个元素占2个存储单元,如果 首地址

为k,且以列序为主序存储数组中的元素,则元素S[4] [5]的存储地址是

O

A. k+49

B. 49

C. k+98

D. 98

10. 对一棵非空的二叉树进行中根遍历,第一个被访问的结点一定是

A.没有左孩子且没有右孩子

B.没有右孩子

C.根结点

D.没有左孩子

11. 一棵完全二叉树上有537个结点,则它的深度为

A. 9

B. 537

C. 11

D. 10

12. 有n 个结点的有向图的邻接矩阵是一个n 行n 列的方阵,第i 个结点的出度为 。

A.第i 行中1的个数

B .第i 列中1的个数 C.第i 行中1的个数与第i 列中1的个数的和

D. n*(n-1)

13. 对非空二又排序树进行中根遍历,遍历序列中的第一个被访问的元素一定是

A.最小的

B.最大的

C.中间大不小的

D.以上说法都不对 14. 折半查找要求査找表

A.链接存储

B.链接存储且有序

C.顺序方式 15. 希尔排序是

-

A.不稳定的

B.稳定的

C.稳定性由初始序列决定

D.前面选项都不对

16. 如果初始序列是{66, 52, 12, 19, 78, 32, 44},按从小到大排序,对它进行一趟冒 泡排

序,其结果为 。

A. 12, 19, 32, 44, 52, 66, 78

B. 66, 52, 12, 19, 78, 32, 44

C. 52, 66, 12, 19, 78, 32, 44

D. 52, 12, 19, 66, 32, 44, 78 17.

将{66, 52, 12, 19, 78, 32, 44}调整成的小顶堆是

A, 78, 44, 66, 52, 19, 32, 12 8.广义表((

D.顺序存储且有序

B. 12, 19, 32, 52, 78, 66, 44

20.已知一有向网如图1所示,如果顶点的邻接点

的顺序是以字母顺序排列的,则从A出发,深度

优先遍历序列为O

A. E, C, D, B, A

B. A, C, D, B, E

C. A,C,E,D,B,

D. A, D, B, E, C

二、综合应用题(四个小题,共40分)

1.(10分)假设用于通信的电文由字符集{A,

B, C, D, E}中的字母构成,这5个字母在电文中出现的概率分别为{10, 30, 25, 22, 13}。

(1)构造哈夫曼树(要求在构造的每一步,左子树的根结点的权值不小于右子树根结点的权值;(5分)

(2)根据构造的哈夫曼树为这5个字母设计哈夫曼编码(假设左分支为0,右分支为Do (5分)

2.(10分)假设线性表的顺序存储结构类型定义如下:typedef int ElemType ;

typedef struct {

ElemType *elem; //存储空间基址

int length; //线性表当前长度

} SqList;

下面类_C算法的功能是:返回非空线性表中元素值的平均值,请填空。int Average (SqList L)〃L为顺序存储的非空线性表

{

} // Average

3.(10分)已知链队列中结点结构定义如下:

typedef int QEIemType;

typedef struct QNode { typedef struct (

//队列中结点类型//链队列类型

QEIemType data; QueuePtr front; // 队头指针

struct QNode *next; QueuePtr rear; // 队尾指针} QNode, *QueuePtr; } LinkQueue;

void Insert_Q(LinkQueue &Q, QEIemType e ) )// Insert_Q

4.(10分)设二叉树以二叉链表的形式存储,有关类型定义如下:

typcdef struct BiTNode ( // 结点结构

int data;

struct BiTNode *lchild, *rchild; // 左右孩子指针

第4页,共7页

} BiTNode, *BiTree;

下面是返回二叉树中没有右孩子的结点个数的类C语言算法,请填空。int RchildNulK BiTree T )〃T是树的根结点的指针

} // RchildNull

第二部分C程序设计(70分)

三、单项选择题(每小题2分,共20分)(备注:答题时每连续的5个为一组,组与组之间留有空隙,例如ABABB CDCDD)

1-C语言程序的执行顺序是

A.从任意函数开始执行

B.从main函数开始执行

C.从主文件的第一个函数开始执行(该函数可能非main函数)

D.以上说法都不对

2.以下标识符中,不能作为合法的C用户定义标识符的是

A. a3_b3

B. _a2

C. 123b

D. BReak

3.设a=9,且a定义为整型变量。执行语句a+=a-=a+a;后a的值为

A. 18

B. 9

C. -9

D. -18

4.已有定义语句:intx=3,y=4,z=5;则值为0的表达式是

A. y%z>=y-z

B. x<=十+y

C. x!=y+z>y-z

D. x>y十+

5.存在代码int x=l; while(x<100); x++; printf("x=%d”, x );下列说法正确的是

A.是死循环

B.循环执行两次C,循环执行一次 D.输出x=100

6.以下不能正确定义二维数组的选项是

A. inta[2][2]={{l}, {2}};

B. inta[2][]={{l,2},{3,4}};

C. inta[2][2]=({1}> 2, 3};

D. int a[][2]=(l,2,3,4};

7.在主函数中调用一个交换函数实现主函数中两个整数的交换,该交换功能通过以下定义的某一函数实现,能够实现此功能的是

A.swap(int x, int y)( int t; t=x; x=y; y=t; }

B.swap(int *x, int *y){ int t; t=x; x=y;尸t; }

C.swap(int *x, int *y){ int t; t= *x; *x = *y; *y=t; }

D.swap(int *x, int *y){ int *t; Lx; x=y; y=t; }

8.对数组作为函数参数不正确的描述为

A.实参数组元素和形参数组元素类型可以不一致

B.用数组做函数参数时,数组名做参数将传递数组的首地址

C.形参数组长度可以不指定

第5页,共7页

D.形参数组长度可以大于实参数组长度

9.若已定义int a=5;下面对(1)、(2)两个语句的正确解释是

⑴ int*p=&a; (2)*p=a;

A.语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值。

B.⑴和⑵语句的执行结果,都是把变量a的地址值赋给指针变量p。

C.(1)在对p进行说明的同时进行初始化,使p指向a;

(2)变量a的值赋给指针变量P o

D.(1)在对p进行说明的同时进行初始化,使p指向a;

(2)将变量a的值赋予*卩。

10.若有定义:intb[5];则以下对b数组元素的正确引用是

A) * (b+2) B) b+2

C) * (* (b+2)) D) *&b[5]

四、判断题(每小题2分,共10分,正确的划“ J ”,错误的划“ X ”)

1.( )continue语句在循环体中出现,其作用是结束整个循环过程。。

2.( )在标准C语言中,是判断两个数是否相等。

3.( )编译器在编译C语言中的程序时,可发现C语言注释中的单词拼写错误。

4.( )结构体中的成员可以是指向自身结构的指针类型。

5.( )假定int类型占用4个字节,若intb[5]={l,7,8};则数组b在内存中所占字节数是20个字节。

五、阅读程序,写出程序的运行结果(每小题5分,共10分)

1.读下列代码,将运行结果填入。

#include

void function(int b) /* 函数function()定义*/

{

static int a=10; /*注意使用了静态变量*/

printf ("%d\n", a+b);

a+=10;

}

void main()

(

int k;

for (k=l;k<=3 ;k++)

function(k);

)

}

运行结果:

第6页,共7页

2,读下列代码,将运行结果填入。

void function(char *c, int d)

{

*c = *c + 1;

d += 1;

printf("%c,%c5", *c, d);

}

void main()

{

char a = 'A', b = 'a';

function(&b, a);

printf("%c,%c\n", a, b);

}

运行结果:

六、程序设计题(每小题15分,共30分)

1.不用标准库函数strcat,自己编写一个函数MyStrcat,实现字符串链接功能,在主函数中输入两个字符串,然后调用函数MyStrcat将这两个字符串链接起来,并将结果显示到屏幕上。已知函数MyStrcat的函数原型如下:

MyStrcat(char *dstStr, char *srcStr);(自行决定该函数有无返回值及类型) 其

中,dstStr为目的字符串数组,srcStr为源字符串数组。

根据要求将main、MyStrcat函数填写完整,如需使用头文件或宏定义等,清自行添加。

#include

MyStrcat(char *dstStr, char *srcStr);

int main()

/*函数功能:将字符串srcStr连接到字符串dstStr的后面*/

MyStrcat(char *dstStr, char *srcStr) /* (自行决定该函数有无返回值及类型)*/

2.用递归方法编程计算Fibonacci数列:

0 n = 0 时

Fib(n) = - 1 n = 1 时

_Fib(n-l) + Fib(n-2) n>2 时

要求:1)将该递归函数设计为一个独立于main的函数。

2)在程序中需输出该递归函数被调用的次数。

第7页,共7页

来源网络,造福学生

———————欢迎下载,祝您学习进步,成绩提升———————

3)根据题意将main、fib函数填写完整,如需使用头文件或宏定义等,请自行添加。

#include

long int Fib(int a);

void main()

/*函数功能:用递归法计算Fibonacci数列中的第n项的值*/ long int Fib(int n)

第8页,共7页

数据结构课程设计

题目: 学院: 专业班级: 学生姓名: 指导教师: 2016 年06 月2 9日

目录 一、课程设计目的 (3) 二、课程设计步骤 (3) 三、课程设计内容 (4) 四、课程设计报告 (6) 五、提交材料 (6) 六、考核方式与评分标准 (7) 七、参考文献 (8) 附录1 齐齐哈尔大学软件工程系课程设计说明书(报告)撰写规范 (9)

一、课程设计目的及要求 《数据结构与算法分析》课程设计培养计算机专业的学生的算法程序设计能力。通过上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对数据结构课程和算法的理解。使学生更好地掌握数据结构的基本概念、基本原理、及基本算法,具有分析算法、设计算法、构造和开发较复杂算法的基本能力。 要求学生能综合运用《数据结构与算法分析》的相关知识,培养学生上机解决一些与实际应用结合紧密的、规模较大的问题的能力,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析实际问题的能力并提高C语言编程技巧,培养良好的编程风格。 课程设计要求独立完成,题目自选(参考题目见三,也可自拟),但需要老师确认(6月16日前定题),一人一题,要求程序有能采用交互式工作方式的界面进行功能的选择,只能用文件存储数据和处理数据不能使用数据库。要求在教学周的第18周前完成。 二、课程设计步骤 随着计算机性能的提高,它所面临的软件开发的复杂度也日趋增加。然而,编制一个10000行的程序的难度绝不仅仅是一个5000行的程序的两倍,因此软件开发需要系统的方法。一种常用的软件开发方法,是将软件开发过程分为分析、设计、实现和维护四个阶段。虽然数据结构课程中的课程设计的复杂度远不如(从实际问题中提出来的)一个“真正的”软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,完成课程设计的应有如下的5个步骤: 1.问题分析和任务定义 通常,课程设计题目的陈述比较简洁,或者说是有模棱两可的含义。因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么,限制条件是什么。注意:本步骤强调的是做什么,而不是怎么做。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。例如:输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式的输入,则结束标志是什么,是否接受非法的输入,对非法输入的回答方式是什么等等。这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式输入的数据。 2.数据类型和系统设计 在设计这一步骤中需分逻辑设计和详细设计两步实现。逻辑设计指的是,对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型;详细设计则为定义相应的存储结构并写出各过程和函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。作为逻辑设计的结果,应写出每个

天津大学数据结构和程序设计考研真题

天津大学数据结构和程序设计考研真题-考研资料- 笔记讲义 许多学生在考研复习的时候,都会遇到重点不明确,不知道从何复习的情况。为此,天津考研网建议,考研复习中,专业的考研复习资料,是帮助考生能够快速掌握复习重点及方法必不可少的因素,然后就是真题和讲义,可以让同学了解历年考研的出题方向和大致范围。天津考研网推出了天津大学数据结构和程序设计的考研复习资料及真题解析班,以下为详细介绍: 天津大学数据结构和程序设计考研真题等资料由天津考研网签约的天津大学计算机科学与技术学院高分考研学生历时近一月所作,该考生在考研中取得了专业课129分的好成绩并在复试中更胜一筹,该资料包含该优秀本校考生的考研经验、考研试题解题思路分析、复试流程经验介绍以及针对官方指定参考书的重难要点并根据天津大学本科授课重点整理等,从漫漫初试长路到紧张复试亮剑为各位研友提供全程考研指导攻关。 特别说明:此科目06年以前科目名称为数据结构;自06年到08年科目名称改为计算机基础(包含数据结构、程序设计、计算机原理);自09年开始全国统考,科目名称为计算机学科专业基础综合;自2013年开始由学校自主命题,科目名称改为901数据结构与程序设计。 第一部分由天津考研网提供的核心复习资料: 天津大学数据结构和程序设计资料编者序言:本文的重点在于C++,数据结构的复习和复试基本情况介绍。C++、数据结构又分别从复习规划,复习用书,重点知识点结合历年考题这四个方面来展开的。复习规划大家务必看一下,然后根据自己的实际情况在制定自己的复习时间,因为内容很多,大多数同学都在考试之前复习不完,在心理因素上就落了一节。重点知识点一定要看了,这些知识点几乎每年都会有题了。另外我还给了历年试题的答案供大家参考。有的答案是自己做的答案,可能会有疏忽的地方。望大家提出宝贵的意见和建议。复试的东西现在了解一下即可,等到进复试了,还是有足够的时间看的。另外我还给了些自己复习心得。考完后感慨很多,回顾了这多半年来自己的成败得失。希望大家从一开始就沿着比较高效的方向前进,减少不必要时间的浪费。本资料格式为A4纸打印版,总量达到了130页

循环结构程序设计代码

实验五代码: 基础能力落实: 1)编写一个程序,将用分钟表示的时间转化成以小时和分钟表示的时间。使用#define 或者const来创建一个代表60的字符常量。使用while循环来允许用户重复键入值,并且当键入一个小于等于0的时间时终止循环。要求用while语句 #include int main(void) { const int minperhour = 60; int minutes, hours, mins; printf("Enter the number of minutes to convert: "); scanf("%d", &minutes); while (minutes > 0 ) { hours = minutes / minperhour; mins = minutes % minperhour; printf("%d minutes = %d hours, %d minutes\n", minutes, hours, mins); printf("Enter next minutes value (0 to quit): "); scanf("%d", &minutes); } printf("Bye\n"); return 0; } 2)编写一个程序打印一个表,表的每一行都给出一个整数,它的平方以及它的立方,要求用户输入表的上限和下限。使用一个for循环。 #include int main( void ) { int lower, upper, index; int square, cube; printf("Enter starting integer: "); scanf("%d", &lower);

程序设计与数据结构-2001

北京航空航天大学程序设计与数据结构试题 (2001年) 一、问答题(10’) 一般情况下,线性表可以采用哪几种存储结构?请分别叙述每一种存储结构的构造原理与特点。 二、(10’) 已知AOE网为G=(V,E),其中V={v1,v2,v3,v4,v5,v6,v7,v8,v9,v10},E={a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14},其中: a1:(v1,v2)5a2:(v1,v3)6a3:(v2,v5)3a4:(v3,v4)3 a5:(v3,v5)6a6:(v4,v5)3a7:(v4,v7)1a8:(v4,v8)4 a9:(v5,v6)4a10:(v5,v7)2a11(v6,v10)4a12:(v7,v9)5 a13:(v8,v9)2a14:(v9,v10)2 注:顶点偶对右下角的数字表示边上的权值。 请按下述过程指出所有关键路径: ee[1:10]: le[1:10]: e[1:14]: l[1:14]: 其中,ee[i]与le[i]分别表示事件v i的最早发生时间与最晚发生时间;e[i]与l[i]分别表示活动a i的最早开始时间与最晚开始时间。 三、(10’) 欲建立一文献库,其正文(文献本身)存放在一个双向循环链表的各个链接点中。 1.为便于链接点的插入、删除操作,以及按题目、发表日期、发表者名称、主题词(假设每文最多给出三个主题词)进行检索,请设计该链表的链接点结构(给出链接点每个域的名称,并说明该域内存放什么信息。注:以下各小题设计链结点结构也这样要求)。画出整个链表结构的示意图。 2.设计一个三级索引结构,其中第三级索引称为题目索引,示按文献题目构造的稠密索引,通过该级索引并根据给定题目可得到每个文献的存放地址;该级索引按文献学科类分类存放。第二级索引称为中类索引,是题目索引的索引,指出同一中类的文献题目索引的存放位置(例如农林类、气象类……,古代史类,近代史类……)。第一级索引称为大类索引,指出同一大类(如:自然科学类、历史类……)的文献的中类索引的存放位置。请设计每一级索引的结点结构,并画出该索引的整体示意图。 3.在设计一种三级索引结构,其中第三级索引仍是题目索引(与2题所述相同),第二级索引把具有相同主题词的文献题目索引地址组织在一个单链表中。第一级索引称为主题词索引,用文献给出的主题词做关键字组成杂凑表,即该级索引为一个杂凑表,能够指出具有同一主题词的文献题目索引的索引链表的第一个链结点的存储位置。该杂凑表采用链地址法处理冲突。请设计每一级索引的结点结构,并画出该索引的整体示意图。 四、(10’) 已知非空线性链表由list 五、(5’+10’) 已知求两个正整数m与n的最大公因子的过程用自然语言可以表述为反复执行如下动作:

河南师范大学新生入校前后攻略

河南师范大学新生入校前后攻略 (你问我答) A.河师大学院基本情况(先来认领你是哪个学院的~) 河师大设有22个学院(包括一个独立学院) 1.数学与信息科学学院 数学与应用数学信息管理与信息系统信息与计算机科学 2.物理与电子工程学院 物理学电气工程及其自动化光电信息科学与工程电子信息工程功能材料3.化学与化工学院 化学化学工程与工艺制药工程 4.生命科学学院 生物科学生物技术生态学生物工程 5.外国语学院 英语英语(商贸英语方向)翻译日语法语 6.体育学院 体育教育运动人体科学运动训练 7.政治与公共管理学院 思想政治教育公共管理类(公共事业管理,行政管理)政治学与行政学国际政治 8.商学院 经济学类(经济学,国际经济与贸易,投资学)工商管理类(工商管理,市场营销,财务管理,会计学,会计学(注册会计师方向))

9.文学院 汉语言文学汉语国际教育广播电视学戏剧影视文学 10.历史文化学院 历史学世界史人力资源管理文化产业管理 11.计算机与信息工程学院 计算机科学与技术通信工程网络工程物联网工程 12.教育与教师发展学院 公共事业管理心理学教育学学前教育教育技术学教育技术学(数字媒体设计方向)小学教育 13.美术学院 美术学视觉传达设计环境设计绘画(油画方向)(国画方向)产品设计14.音乐舞蹈学院 音乐学音乐表演舞蹈编导 15.法学院 法学法学(民商法学方向)法学(刑法学方向)知识产权 16.社会事业学院 社会工作劳动与社会保障社会学 17.环境学院 环境科学与工程类(环境科学,环境工程) 18.水产学院 水产养殖学(水生动物育种与增养殖方向)水产养殖学(水生动物医学方向)水产养殖学(水生动物营养与饲料学方向)水族科学与技术

数据结构与程序设计C++描述(Kruse著)高等教育出版社_课后答案.

Programming Principles 1 1.2 THE GAME OF LIFE Exercises 1.2 Determine by hand calculation what will happen to each of the configurations shown in Figure 1.1 over the course of five generations. [Suggestion: Set up the Life configuration on a checkerboard. Use one color of checkers for living cells in the current generation and a second color to mark those that will be born or die in the next generation.] Answer (a) Figure remains stable. (b) (c) (d) Figure is stable. 1 2 Chapter 1 _ Programming Principles (e) (f) Figure repeats itself. (g) (h) (i) Figure repeats itself. (j) (k) (l) Figure repeats itself. Section 1.3 _ Programming Style 3 1.3 PROGRAMMING STYLE Exercises 1.3

E1. What classes would you define in implementing the following projects? What methods would your classes possess? (a) A program to store telephone numbers. Answer The program could use classes called Phone_book and Person. The methods for a Phone_book object would include look_up_name, add_person, remove_person. The methods for a Person object would include Look_up_number. Additional methods to initialize and print objects of both classes would also be useful. (b) A program to play Monopoly. Answer The program could use classes called Game_board, Property, Bank, Player, and Dice. In addition to initialization and printing methods for all classes, the following methods would be useful. The class Game_board needs methods next_card and operate_jail. The class Property needs methods change_owner, look_up_owner, rent, build, mortgage, and unmortgage. The class Bank needs methods pay and collect. The class Player needs methods roll_dice, move_location, buy_property and pay_rent. The class Dice needs a method roll. (c) A program to play tic-tac-toe. Answer The program could use classes called Game_board and Square. The classes need initialization and printing methods. The class Game_board would also need methods make_move and is_game_over. The class Square would need methods is_occupied, occupied_by, and occupy. (d) A program to model the build up of queues of cars waiting at a busy intersection with a traffic light. Answer The program could use classes Car, Traffic_light, and Queue. The classes would all need initialization and printing methods. The class Traffic_light would need additional methods change_status and status. The class Queue would need additional methods add_car and remove_car. E2. Rewrite the following class definition, which is supposed to model a deck of playing cards, so that it conforms to our principles of style. class a { // a deck of cards int X; thing Y1[52]; /* X is the location of the top card in the deck. Y1 lists the cards. */ public: a( ); void Shuffle( ); // Shuffle randomly arranges the cards. thing d( ); // deals the top card off the deck } ; Answer class Card_deck { Card deck[52]; int top_card; public: Card_deck( ); void Shuffle( ); Card deal( );

循环结构程序设计典型例题

循环结构程序设计典型例题 例1有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一 项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1.初值i=2,j=3,s=0; 2.用n从1到30循环 3.s=s+ i/j; 4.c=i; i=j+1; j=c+j; 5输出s; 程序: #in clude mai n() { int i=2,j=3, n,c; float s=0; for(n=1; n<=30 ;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf( "n%f” ,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #in clude mai n() { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf( n“d' ,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0<*m)能被3整除,且至少有一个数字是5的所有数。 算法分析:

数据结构课程设计

<<数据结构>> 课 程 设 计 班级:111004 姓名:董丽美 学号:111004122 指导教师:史延新 完成日期:2013 _07 _10

题目一:约瑟夫环问题 【问题描述】约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n 的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m 的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出列顺序。【基本要求】利用单向循环链表存储结构模拟此过程,按照出列的顺序打印出各人的编号。 【测试数据】m的初值为20;n=7,7个人的密码依次为:3,1,7,2,4,8,4,首先m值为6(正确的出列顺序应为:6,1,4,7,2,3,5) 一 .需求分析 1.用单循环链表存储并遍历及删除节点的方法,计算并输出约瑟夫环的问题。 2.环中总人数和节点信息由用户输入,且均为正整数。3.在窗口界面输出出列顺序的编号。 二.概要设计

1.设定链表的抽象数据类型定义: ADT List{ 数据对象:D={a(i)|a(i)∝Elemset,i=1,2,…,n,n>=0} 数据关系:R1={|a(i-1),a(i)∝D,i=2,…,n}基本操作: InitList(&L) 操作结果:构造一个空的线性表 ListInsert(&L,i,e) 初始条件:线性表L已经存在。 操作结果:在L中第i个位置之前插入新的数据元素 e,L的长度增加1。 ListDelete(&L,i,&e) 初始条件:线性表L已经存在且非空,1<=i<=ListLength(L)。操作结果:删除L的第i个数据元素,并用e返回其值,L 的长度减1 。 } 2.算法的基本思想: 根据题目要求,采用单循环线性表的基本操作来实现约瑟夫环问题。首先根据所给信息生成链表节点并插入,根据节点记录密码及其所在链表中的顺序,由给出的初始访问值进行遍历,当变量i增量等于所给的值(即关键字)时,指针所指的节点处的顺序值即为所需输出的顺序号。每输出一次顺

中国史-河南师范大学

中国史一级学科硕士研究生培养方案 (专业代码:060200) 一、培养目标 研究生教育是高等教育中高层次的学历教育,担负着为国家培养科学研究和教学工作高级人才的重任。中国史一级学科硕士研究生培养目标的基本要求是: 1、掌握基本的基础知识和专业知识 中国史硕士生要具有广博的通用工具性知识、人文社会科学知识和自然科学知识。外语能够达到基本交流的能力,能够阅读一般史学文献和写作专业论文摘要;能够运用计算机初步进行专业服务;掌握基本的统计技能并能够运用基本的统计软件;初步掌握运用地理信息系统和档案文献系统从事相关研究和资料的处理工作。必须具备哲学、文学、政治学、经济学、法学、社会学等哲学社会学科的综合知识,同时必须具备相应的人文社会科学知识。根据专业需要,初步掌握与其学科方向相关的自然科学基础知识,了解相关学科的研究方法,并具有一定的相关研究技能。 中国史硕士生要对中国史专业核心知识体系有较为深入的把握。初步掌握中国史文献资料相关文本知识的核心知识范畴,初步或部分具备中国史学的各种分支学科的基础知识,基本熟悉来自史学理论与方法以及中国史各个研究方向中的很多分支学科中的中国史文献资料所揭示的理论知识。 2、具备良好的学术素质和高尚的学术道德 中国史硕士生要具有较为广博的人文素质、现代意识;初步具有科学的研究精神与推理能力,其中必须具备科学精神;初步掌握历史学的基本理论、方法,具有扎实的专业基础知识和国际视野,能够胜任历史研究实际工作,初步具备独立进行历史研究的能力。要品行端正、遵纪守法、诚实守信,遵守学术道德和学术规范,具备良好的团队合作精神,视抄袭为可耻行为。 3、具备基本学术能力 中国史硕士生要初步具备获取中国史学科知识的能力,从事科学研究的能力,对当代中国史研究成果与档案资料初步判断的能力,进行学术交流的能力,在各种学术会议上介绍相关学术项目和成果的能力,较为熟练地掌握英语或其他外语的能力。此外还应该初步具备提出新问题、获得新史料、采用新方法、引用新理论、运用新技术和获得新

数据结构毕业设计题目整理

数据结构课程设计题目 1.飞机订票系统(限1 人完成)(顺序或链式存储) 任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息: 当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息,客户信息的存储结构,设计程序完成功能; 2.宿舍管理查询软件(限1 人完成) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: 采用交互工作方式 建立数据文件,包括学生信息、宿舍信息、住宿信息,学生信息按关键字(姓名、学号)进行排序(排序方法自选,不能相同); 查询: (用二分查找实现以下操作) 按姓名查询 按学号查询 (用顺序查找实现以下操作) 按房号查询 3.校园导航问题(限1 人完成) 设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。 要求:能增加场所 4.图书借阅管理系统(限1 人完成)(顺序或链式存储) 主要分为两大功能: 1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书); 2)会员管理(增加会员、查询会员、删除会员、借书信息); 5.学生成绩管理(限1 人完成)(顺序或链式存储) 包括:课程信息,学生信息等;能增加课程或学生。 实现功能:输入、输出、插入、删除、查找、显示、保存、排序、退出。6.活期储蓄帐目管理(限1 人完成) 活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求: 1)能比较迅速地找到储户的帐户,以实现存款、取款记账;

河南师范大学

河南师范大学 第二十一届师范生基本技能比赛“三笔字”大赛 活动方案 为积极落实党的十八大提出的“立德树人”精神,积极提升大学生综合素质,进一步丰富校园文化生活,特举办以“学在师大,绽放青春”为主题的钢笔字、毛笔字、粉笔字(简称“三笔字”)比赛。具体方案如下: 一、主办单位:河南师范大学党委学工部学生处 二、承办单位:河南师范大学历史文化学院 三、领导小组 顾问:王海旺孙先科 组长:张向战王霞王记录 副组长:葛照金康海军 成员:张建国聂立清陈广文张进江马玉栋岳杰勇 赵荣栓皇甫艳玲丁笑生李富杰陈明银王毅 马新峰赵红杰岳贤锋宋卫平李杰孙冬青 程保国赵有军王文豪董国强华峰蒋占峰 吴耀武谢友海高飞李保华 领导小组下设办公室: 主任:葛照金康海军 成员:张利兵、郑朝琳、李新艳、张永富及各学院团委书记 四、评委组成 成立河南师范大学第二十一届大学生基本技能竞赛“三笔字”大赛评委会,并按A.粉笔字、 B.毛笔字、 C.钢笔字分三个评委小组(含专业组评委)。评委由主办方邀请校内外有关专家担任。 五、比赛时间及地点 时间:2014年5月10日(星期六)上午8:00~12:00 地点:图书馆前广场 六、参赛人数 参赛总人数为540人,本次比赛参赛名额为各学院一、二、三年级总人数的3%,其中,学院推荐选手比例为2%(四舍五入),随机抽取选手比例为1%(四舍五入,在一、二、三年级当中随机抽取)。

各学院具体参赛名额见附件1。 七、比赛程序 (一)比赛规则及要求(见附件2) (二)比赛流程 1.开幕式 (1)介绍与会领导、嘉宾及评委。 (2)学校领导致词。 (3)宣布大赛设奖情况、评奖办法、比赛规则及有关要求。 (4)主持人宣布比赛开始,各选手进入创作阶段。 (5)与会领导、嘉宾观摩比赛。 2.比赛阶段 比赛分A、B、C三组,同时进行。 比赛共分三个阶段,具体顺序如下: (1)第一阶段:A)钢笔字B)毛笔字C)粉笔字 (2)第二阶段:A)毛笔字B)粉笔字C)钢笔字 (3)第三阶段:A)粉笔字B)钢笔字C)毛笔字 比赛结束后,利用统计成绩的时间,由与会领导、嘉宾、评委等进行现场书法表演和抽奖活动。 八、奖项设置 (一)优秀组织奖(9名) (二)个人全能奖(60名) 一等奖:10名 二等奖:20名 三等奖:30名 (三)个人单项奖(180名) 1、钢笔类(60名) 一等奖:10名 二等奖:20名 三等奖:30名 2、粉笔类(60名) 一等奖:10名 二等奖:20名 三等奖:30名 3、毛笔类(60名) 一等奖:10名 二等奖:20名 三等奖:30名 (四)最佳人气奖(3名) (五)最佳微博创作奖(10名) 备注:

循环结构程序设计典型例题

循环结构程序设计典型例题 例1:有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1. 初值i=2,j=3,s=0; 2. 用n从1到30循环 3. s=s+ i/j; 4. c=i; i=j+1; j=c+j; 5.输出s; 程序: #include<> main( ) { int i=2,j=3,n,c; float s=0; for(n=1;n<=30;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf(“\n%f”,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #include<> main( ) { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf(“\n%d”,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0

C语言程序设计和数据结构

湖南师范大学硕士研究生入学考试自命题考试大纲 考试科目代码:[967] 考试科目名称:C语言程序设计和数据结构 一、试卷结构 1) 试卷成绩及考试时间 本试卷满分为150分,考试时间为180分钟。 2)答题方式:闭卷、笔试 3)试卷内容结构 C语言程序设计部分 80% 数据结构部分 20% 4)题型结构 a: 单项选择题,共40分 b: 程序填空题,共30分 c: 程序阅读题,共25分 d: 编程题,共45分 e: 分析题,共10分 二、考试内容与考试要求 (一)C语言程序设计部分 考试内容 1、基本知识 (1)C语言的数据类型 (2)C语言中各种类型常量的表示法 (3)各类数值型数据间的混合运算 (4)C运算符 (5)关系表达式及运算,逻辑表达式及运算

2、顺序、选择与循环结构 (1)赋值语句,格式输入与输出 (2)if语句,switch语句 (3)goto、while、do-while、for、break、continue语句3、数组 (1)一维数组的定义和引用 (2)二维数组的定义和引用 (3)字符数组的定义和引用,字符串及其处理函数 4、函数 (1)函数定义与调用 (2)局部变量和全局变量 (3)变量的存储类型 (4)内部函数与外部函数 5、宏定义 (1)带参数的宏定义 (2)包含文件的处理 6、指针 (1)地址和指针的概念 (2)数组的指针和指向数组的指针变量 (3)字符串的指针和指向字符串的指针变量 (4)函数的指针和指向函数的指针变量 (5)指针数组和指向指针的数组 7、结构体和共同体 (1)结构体变量的定义和使用方法 (2)指向结构体类型变量的指针 (3)用指针处理链表 (4)共同体变量的定义和使用方法

数据结构与C语言程序设计

《数据结构与C语言程序设计》复习大纲 《数据结构与C语言程序设计》包括“数据结构”与“C语言程序设计”两门课程的内容,各占比例50%。 《数据结构》部分 指定参考书: 《数据结构教程(第二版)》唐发根编著,北京航空航天大学出版社,2005 一、概述 1.简要了解数据的逻辑结构与存储结构的基本概念; 2.了解算法的定义、算法的五个基本性质以及算法分析最基本的概念,包括算法分析的前提、目的。 二、线性表 1.了解线性关系、线性表的定义,线性表的基本操作; 2.线性表的顺序存储结构与链式存储结构(包括单链表、循环链表和双向链表)的构造原理; 3.掌握在以上两种存储结构的基础上对线性表实施的基本操作,重点包括顺序表的插入和删除、链表的建立、插入和删除、检索等操作对应的过程和算法的设计。 三、堆栈与队列 1.了解堆栈与队列(不含循环队列)的基本概念、基本操作; 2.掌握堆栈与队列的顺序存储结构与链式存储结构的构造原理; 3.掌握在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作过程。

四、树与二叉树 1.了解树型结构的基本概念,基本特征、名词术语; 2.了解完全二叉树、满二叉树的概念;二叉树的基本性质(至少要记住结论); 3.了解二叉树的顺序存储结构与二叉链表存储结构的构造原理及特点,重点是二叉链表存储结构; 4.掌握二叉树的前序遍历、中序遍历、后序遍历和按层次遍历算法(非递归算法)以及利用遍历解决有关二叉树的其它操作; 5.掌握二叉排序树的基本概念、建立(插入)和查找。 五、图 1.了解图结构的基本概念、基本名词术语; 2.掌握图的邻接矩阵存储方法和邻接表存储方法的基本构造原理与特点; 3.图的深度优先搜索和广度优先搜索的基本过程,遍历的基本作用; 4.最小生成树的求解过程,拓扑排序及其目的。 六、文件及查找 1.掌握顺序查找法、折半查找法的查找过程,了解折半查找方法的基本要求; 2.了解散列(Hash)文件的基本特点,散列函数和散列冲突的概念,处理散列冲突的方法。 七、内排序 了解插入排序法、选择排序法、泡排序法、快速排序法以及堆积排序(大顶堆积)法等排序方法的排序原理、规律和特点。 《C语言程序设计》部分 指定参考书: 《C程序设计》(第三版)谭浩强著,清华大学出版社, 2005.7

814程序设计与数据结构考试大纲

814程序设计与数据结构考试大纲 085211计算机技术专业 一、考试目的 本考试是全日制计算机技术专业学位研究生的入学资格考试之专业基础课,各语种考生统一用汉语答题。各招生院校根据考生参加本考试的成绩和其他三门考试的成绩总分来选择参加第二轮,即复试的考生。 二、考试的性质与范围 本考试是测试考生计算机科学基础知识的水平考试。考试范围包括本大纲规定的C++语言程序设计和数据结构。 三、考试基本要求 1. 具备扎实的C++语言程序设计基本功。 2. 具备设计数据结构和算法求解问题的基本能力。 四、考试形式 本考试采取客观试题与主观试题相结合,单项技能测试与综合技能测试相结合的方法,强调考生设计数据结构和算法并编程实现来求解问题的能力。试题分类参见“考试内容一览表”。 五、考试内容 本考试包括两个部分:C++程序设计、数据结构。总分150分。 I. C++程序设计 1. 考试要求 该部分要求考生对C++语言基本特性、面向对象程序设计方法和Visual C++编译器相关特性有很好的了解。 2. 题型 选择题、读程序写出Visual C++下的执行结果、程序填空,共75分。 II. 数据结构 1. 考试要求 该部分要求考生掌握线性表(及其扩展:栈和FIFO队列)、树(包括基本的二叉树和堆、搜索树等特殊树结构)、图等基本数据结构及其上的操作;掌握二分搜索、Hash技术及搜索树等搜索方法;掌握选择、起泡、插入等简单排序算法,堆排序、快速排序、归并排序和谢尔(希尔)等快速排序算法,以及箱子、基数排序等非比较排序算法。具备利用上述数据结构和算法以及设计新数据结构和算法来求解问题的能力。 2. 题型 选择题、简答题、算法设计题,共75分。

数据结构程序设计题目共29题

目录 题目1:设计一元多项式简单计算 (1) 题目2:链表应用1 (1) 题目3:链表应用2 (1) 题目4:通讯录 (2) 题目5:停车场管理系统............................................. 错误!未定义书签。题目6:约瑟夫环 (3) 题目7:运动会分数统计 (3) 题目8:文学研究助手问题 (3) 题目9:银行业务模拟与离散事件模拟 (4) 题目10:学生信息管理系统任务(用顺序表/链表).... 错误!未定义书签。题目11:文章编辑功能 .............................................. 错误!未定义书签。题目12:实验室管理.................................................. 错误!未定义书签。题目13:二叉树的基本操作(建立、求二叉树树深度、遍历).. (4) 题目14:纸牌游戏任务 (5) 题目15:算术表达式求值 (5) 题目16:内部排序算法比较 (5) 题目17:哈夫曼树的构造和哈夫曼编码/译码 (6) 题目18:构造可以使n个城市连接的最小生成树 (7) 题目19:交通咨询系统中的最短路径 (7) 题目20:集合的交、并、差运算 ................................ 错误!未定义书签。题目21:长整数四则运算 (7) 题目22:机订票系统.................................................. 错误!未定义书签。题目23:图书管理系统 (8) 题目24:哈希表应用 (8) 题目25:模拟旅馆管理系统的一个功能——床位的分配与回收 (9) 题目26:地图着色问题 (9) 题目27:俄罗斯套娃问题 (10) 题目28:扫雷 (11) 题目29:用C语言设计一个日历系统 (11)

河南师范大学毕业证样本学位证样本历任校(院)长学校代码

河南师范大学毕业证样本学位证样本历任校(院)长学校代码 河南师范大学学院简介 河南师范大学是一所建校历史较长的省属重点大学。学校位于豫北名城新乡市,坐落在广袤的牧野大地、美丽的卫水之滨。河南师范大学的前身是创建于1923年的中州大学(原国立河南大学前身)理科,1953年与平原师范学院合并,改称河南师范学院,后更名为新乡师范学院。1985年始称河南师范大学。 目前,学校占地面积148万平方米,建筑面积80多万平方米,教学科研仪器设备总值达2.6亿元,馆藏图书330万册;设有24个学院,71个本科专业,各类学生40000余人,在岗教职工2300余人,专任教师1600余人。现有24个省级重点学科,4个博士后科研流动站,2个博士学位授权一级学科,16个博士学位授权二级学科,25个硕士学位授权一级学科, 7个专业硕士学位授权点;设有省部共建国家重点实验室培育基地1个,教育部重点实验室2个,省级重点实验室、工程技术研究中心、工程实验室、人文社科重点研究基地等15个,河南省协同创新中心2个,厅级科研平台19个,新乡市重点实验室、工程技术研究中心8个,校特色与应用研究基地11

个。 近年来,学校不断深化教学改革,教育教学质量不断提高,学生在国际、国内竞赛中屡获佳绩,先后获得中国音乐金钟奖、中国校园戏剧奖、中国舞蹈荷花奖、中国青少年科技创新奖以及省部级音乐、美术奖励80余项。毕业生年底就业率保持在90%以上,应届本科毕业生考取硕士研究生的比例稳定在30%以上,学校社会声誉日益提升。 九十年来,特别是新中国成立以来,河南师范大学以振兴中国教育事业为已任,坚持以培养人才为中心,筚路蓝缕,艰苦创业,与时俱进,开拓创新,逐步发展成为一所涵盖经济学、法学、教育学、文学、理学、工学、农学、历史学、管理学、艺术学等10大学科门类的综合性师范大学。 历任校(院)长:现任校长:王键吉(如学校人员调动,未及时更新,以实际为准,此数据仅供参考) 学校代码:10476

北航数据结构与程序设计真题-2013北航991真题与答案

2013年“数据结构与C程序设计”(代码991)试题 一、单项选择题(本题共20分,每小题各2分) 1.对于长度为n的线性表,建立其对应的单链表的时间复杂度为( )。 A.O(1);B.O(log2n);.O(n);D.O(n2)。 2.一般情况下,在一个双向链表中插入一个新的链结点,( )。 A.需要修改4个指针域内的指针;B.需要修改3个指针域内的指针; C.需要修改2个指针域内的指针;D.只需要修改1个指针域内的指针。 3.假设用单个字母表示中缀表达式中的一个运算数(或称运算对象),并利用堆栈产生中缀表达式对应的后缀表达式。对于中缀表达式A+B*(C/D-E),当从左至右扫描到运算数E时,堆栈中的运算符依次是( )。(注:不包含表达式的分界符) A.+*/-;B.+*(/-;C.+*-;.+*(-。 4.若某二叉排序树的前序遍历序列为50,20,40,30,80,60,70,则后序遍历序列为( )。 A.30,40,20,50,70,60,80;B.30,40,20,70,60,80,50; C.70,60,80,50,30,40,20;D.70,60,80,30,40,20,50。 5.分别以6, 3, 8, 12, 5, 7对应叶结点的权值构造的哈夫曼(Huffman) 树的深度为( )。 A.6;B.5;C.4;D.3。 6.下列关于图的叙述中,错误的是( )。 A.根据图的定义,图中至少有一个顶点; B.根据图的定义,图中至少有一个顶点和一条边(弧); C.具有n个顶点的无向图最多有n(n-1)/2条边; D.具有n个顶点的有向图最多有n(n-1)条边(弧)。 7.若在有向图G的拓扑序列中,顶点vi在顶点vj之前,则下列4种情形中不可能出现的是( )。 A.G中有弧; B.G中没有弧; C.G中有一条从顶点vi到顶点vj的路径; D.G中有一条从顶点vj到顶点vi的路径。 8.下列关于查找操作的叙述中,错误的是( )。 A.在顺序表中查找元素可以采用顺序查找法,也可以采用折半查找法; B.在链表中查找结点只能采用顺序查找法,不能采用折半查找法; C.一般情况下,顺序查找法不如折半查找法的时间效率高; D.折半查找的过程可以用一棵称之为“判定树”的二叉树来描述。 9.在一棵m阶B-树中,除根结点之外的任何分支结点包含关键字的个数至少是( )。 A.m/2-1;B.m/2;C.m/2-1;D.m/2。 10.若对序列(49, 38, 65, 97, 76, 13, 27, 49’)进行快速排序,则第一趟排序结束(即确定了第1个分界元素的最终位置)时,序列的状态是( )。 A.(13, 27, 49’, 38, 49, 76, 97, 65);B.(13, 38, 27, 49’, 49, 76, 97, 65); C.(13, 38, 49’, 27, 49, 97, 76, 65);D.(13, 38, 49’, 27, 49, 76, 97, 65)。 二、填空题(本题共20分,每小题各2分) 1.非空线性表在采( )存储结构的情况下,删除表的一个数据元素平均需要移动表中近一半元素的位置。2.将一个长度为n的单链表链接到一个长度为m的单链表后面,该算法的时间复杂度用大O符号表示为( )。 3.若完全二叉树的叶结点的数目为k,且最下面一层的结点数大于1,则该完全二叉树的深度为( )。

相关主题
文本预览
相关文档 最新文档