河北大学计算机科学技术答案,2017年河北大学计算机科学与技术学院862数据结构(计)考研题库...

一、选择题

1. 某计算机系统中有8台打印机,由K 个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K 最小值是( )。

A.2

B.3

C.4

D.5

【答案】C

【解析】死锁的抽屉原理一般描述是:将5个苹果放进4个抽屉,那么,必然有1个抽屉中至少有2个苹果。计算机系统的资源分配充分体现了这一原理。考察进程运行的特点,只要有一个进程能够运行,则运行结束后必然会归还资源,其余的进程也就会得到满足从而可以执行(这里考虑的资源主要是可重用的资源,不可重用的资源会消失,就不可用上述方法分析)。所以最少需要4个进程竞争使用,每个进程占用2台打印机,此时会产生死锁。

2. 设系统缓冲区和用户工作均采单,从外读入1个数据块到系统缓冲区的时间为100, 从系统缓冲区读入1个数据块到用户工作区的时间为5, 对用户工作区中的1个数据块行分析的时间为90 (如下图所示)。进程从外设读入并分析2个数据块的最短时间是( )

A.200

B.295

C.300

D.390

【答案】C

【解析】数据块1从外设到用户工作区的总时间为105, 在这段时间中数据块2没有进行操作。在数据块1进行分析处理时, 数据块2从外设到用户工作区的总时间为105, 这段时间是并行的。再加上数据块2进行处理的时间90, 总共是300, 故答案为C 。

3. 在用邻接表表示图时,拓扑排序算法时间复杂度为( )。

A.0(n ) B.0(n+e) C.0(n*n) D.0(n*n*n)

【答案】B

【解析】由于输出每个顶点的同时还要删除以它为起点的边,故拓扑排序的时间复杂度为0(n+e)

4. 下列选项中,降低进程优先级的合理时机是( )。

A. 进程的时间片用完

B. 进程刚完成1/0, 进入就绪队列

C. 进程长期处于就绪队列

D. 进程从就绪状态转为运行态

【答案】A

【解析】进程时间片用完可以降低其优先级,完成的进程应该提升其优先级,处于就绪队列等待调度的进程一般不会改变其优先级。进行这样的操作主要是为了改善交互式系统的响应时间,并均衡各个作业的公平性。采用时间片轮转技术主要为改善交互式用户的感受,使其觉得是

,时间片用完后降低其优独享计算机(时间片轮转可以有效地防止计算繁忙型的进程独占计算机)

先级是为了改善新进程的响应时间(新进程优先级较高,老进程降低优先级可以保证新进程具有

,对于刚进入就绪队列的新进程,往往在创建时已经根据其特点和要求确定好优先级,不优先权)

会随意改变。而对于从阻塞状态唤醒的进程,由于阻塞带来了较长时间的等待,一般会根据阻塞队列的不同适当地提高优先级,以改善用户响应时间。

5. 下列有关接口的叙述中错误的是:( )

A. 状态端口和控制端口可以合用同一寄存器 B. 接口中CPU 可访问寄存器,称为端口

端口

指令,C. 采用独立编址方式时,【答案】D 【解析】采用统一编码方式,存储器和端口共用统一的地址空间,不需要专用的

任何对存储器数据进行操作的指令都可用于端口的数据操作。所以D 错误

6. 有关二叉树下列说法正确的是( )。

A_二叉树的度为2

B. —棵二叉树的度可以小于2

C. 二叉树中至少有一个结点的度为2

D. 二叉树中任何一个结点的度都为2

【答案】B

【解析】树的度=MAX(结点1的度,结点2的度,结点3的度,... ,结点n 的度)。二叉树之所以称为二叉树,是因为二叉树中节点的度最大是2,也可以小于2。

端口地址和主存地址可能相同 D. 采用统一编址方式时,CPU 不能用访存指令访问

7. 已知两个长度分别为m 和n 的升序链表,若将它们合并为一个长度为m+n的降序链表,则最坏情况下的时间复杂度是( ) A. B. C. D.

【答案】D

【解析】m 和n 是两个升序链表长度分别为m 和n ,在合并过程中最坏的情况是两个链表中的元素依次进行比较,比较的次数是m 和n 中的最大值。

8. 静态链表中指针表示的是( )。

A. 下一元素的地址

B. 内存储器的地址

C. 下一元素在数组中的位置

D. 左链或右链指向的元素的地址

【答案】C

【解析】静态链表的一般结构为:

这种结构是预先分配一个较大的空间,类似于一次申请一个较大的数组,但是元素的增删操作都不会移动元素,只需要移动next 成员就行。因此,静态链表中的指针实际上表示的就是下一个元素在数组中的位置。

9. 下列二叉排序树中查找效率最高的是( )。

A. 平衡二叉树

B. 二叉查找树

C. 没有左子树的二叉排序树

D. 没有右子树的二叉排序树

【答案】A

【解析】平衡二叉树的左子树和右子树的深度之差的绝对值不超过1。这就保证了二叉树的深度是级别的。二叉查找树或者是一颗空数;或者是具有下列性质的二叉树:①若左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若右子树不空,则右子树上所有结点的值均大于它的根结点的值;③左、右子树也分别为二叉排序树。B 、C 、D 三项均不能保证左子树和右子树的深度之差的绝对值不超过1,甚至很大,因此查找效率低。

10.假设磁头当前位于第105道,正在向磁道序号増加的方向移动。现有一个磁道访问请求,序列为35, 45, 12, 68, 110, 180, 170, 195,采用SCAN 调度(电梯调度)算法得到的磁道访问序列是( )。

A.110, 170, 180, 195,68, 45, 35,12

B.110,68,45,35,12,170,180,195

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现的毕业设&&课程设(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值