2011年12月考试数据结构第二次作业
操作系统第二次作业题及答案.doc
第2次作业一、单项选择题(本大题共40分,共20小题,每小题2分)1.设备驱动程序负责接收和分析从设备分配转来的信息以及设备控制块等内容。
()不是设备驱动程序的功能。
A.根据请求传送的数据量,组织I/O缓冲队列B.利用T/0缓冲,对数据进行加工C.启动设备进行I/O操作D.I/O设备中断处理2.解决死锁的途径是()A.立即关机排除故障B.立即关机再重新开机C.不要共享资源,增加独占资源D.运行检测程序并恢复系统3.吋间片一般应用于()。
是A.批处理操作系统B.分时操作系统C.实时操作系统D.以上都不是4.磁带上的文件一般只能()A・随机存取B•顺序存取C.直接存取D.以字节为单位存取5.下面关于临界区概念论述正确的是:()A.临界区是指进程中用于实现进程互斥的那段程序代码氏临界区是指进程中用于实现进程同步的那段程序代码C.临界区是指进程中用于实现进程通信的那段程序代码D.临界区是指进程中用于访问公用数据(临界资源)的那段程序代码6.配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样的计算机只是一台逻辑上的计算机,称为()计算机。
A.并行B.真实C.虚拟D.共享7.内存和外存容量之和与虚拟存储器容量相比其大小关系是()A.前者比后者大B.前者比后者小C.二者相等D.不一定8.把独占性设备改造成能为若干个用户共享的设备,这种设备称为()A.存储设备B.系统设备C ・用户设备D.虚拟设备9. 为实现对缓冲区buf 访问的同步,下叙述中正确的是A. 读进程从buf 中读出数据前,应用对写进程信号量进行P 操作;B. 读进程从buf 中读出数据前,应用对写进程信号量进行V 操作;C. 读进程从buf 中读岀数据后,应用对写进程信号量进行P 操作;D. 读进程从buf 屮读出数据后,应用对写进程信号量进行V 操作;10.()大多用于对信息的及时性要求比较严格并且很少会对所有数据进行 处理的应用程序中。
数据结构(C语言版)第2版的习题集答案—严蔚敏(简化版).doc
第2章线性表1.选择题(1)顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
A.110 B.108 C.100 D.120答案:B解释:顺序表中的数据连续存储,所以第5个元素的地址为:100+2*4=108。
(3)向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为()。
A.8 B.63.5 C.63 D.7答案:B解释:平均要移动的元素个数为:n/2。
(4)链接存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B.只有一部分,存放结点值C.只有一部分,存储表示结点间关系的指针D.分两部分,一部分存放结点值,另一部分存放结点所占单元数答案:A(5)线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续或不连续都可以答案:D(6)线性表L在()情况下适用于使用链式结构实现。
A.需经常修改L中的结点值B.需不断对L进行删除插入C.L中含有大量的结点D.L中结点结构复杂答案:B解释:链表最大的优点在于插入和删除时不需要移动数据,直接修改指针即可。
(7)单链表的存储密度()。
A.大于1 B.等于1 C.小于1 D.不能确定答案:C解释:存储密度是指一个结点数据本身所占的存储空间和整个结点所占的存储空间之比,假设单链表一个结点本身所占的空间为D,指针域所占的空间为N,则存储密度为:D/(D+N),一定小于1。
(8)将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.n B.2n-1 C.2n D.n-1答案:A解释:当第一个有序表中所有的元素都小于(或大于)第二个表中的元素,只需要用第二个表中的第一个元素依次与第一个表的元素比较,总计比较n次。
(9)在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动()个元素。
2011年广东暨南大学数据结构考研真题解析版
径及其路径长度(要求写出求解过程)。 (12 分)
图3 6.给出一组关键字的序列为{ 12,15,34,37,39,22,38,66,74,80,107 },假设哈 希函数为 Hash(key)=key mod 11,画出按照链地址法处理冲突构造所得的哈希表,并在记
} QNode, *QueuePtr;
typedef struct {
QueuePtr front; // 队头指针
QueuePtr rear; // 队尾指针
} LinkQueue, * LinkQueuePtr;
Boolean EnQueue (LinkQueuePtr Q, QElemType e) { //元素 e 加入到队列 Q 中
)运算。
A. 读表元素
B.插入
C. 查找
D. 定位
5. 设单链表中指针 p 指着结点 A,若要删除 A 之后的结点(若存在),则需要修改指针的操作为
(
)。
A. p->next=p->next->next
B. p=p->next
C. p=p->next->next
D. p->next=p
6. 在内部排序中,排序时不稳定的有(
B.中序
C.后序
D.层次
12. 稀疏矩阵一般的压缩存储方法有两种,即:(
)。
A. 二维数组和三维数组
B. 三元组和散列
C. 三元组和十字链表
D. 散列和十字链表
13. 循环队列中是否可以插入下一个元素 (
)。
A. 与曾经进行过多少次插入操作有关.
数据结构(C语言版)第2版习题-答案
数据结构(C语言版)(第2版)课后习题答案李冬梅2015.3目录第1章绪论 (1)第2章线性表 (5)第3章栈和队列 (14)第4章串、数组和广义表 (27)第5章树和二叉树 (34)第6章图 (44)第7章查找 (55)第8章排序 (66)第1章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。
如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。
数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。
在有些情况下,数据元素也称为元素、结点、记录等。
数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。
数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。
例如,学生基本信息表中的学号、姓名、性别等都是数据项。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
例如:整数数据对象是集合N={0,±1,±2,…},字母字符数据对象是集合C={‘A’,‘B’,…,‘Z’,‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。
逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。
抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。
具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。
2011-2012(2)数据结构卷
安徽大学2011—2012学年第2学期《 数据结构 》考试试卷(A 卷)(闭卷 时间120分钟)考场登记表序号一、填空题(每小题1分,共12分)1. 数据结构包含数据的 ___________、存储结构和数据的运算三方面的内容。
2. 带头结点的单循环链表Head 的判空条件是____________________。
3. 队列的操作特点是 。
4. 有一个10*10的对称矩阵A ,采用压缩存储方式,则需要 个元素的存储空间。
5. 广义表(a,b,c,d)的表尾是 。
6. 在一棵二叉树上第10层的结点数最多为 个。
7. 对于长度为18的顺序存储的有序表,若采用折半查找,则比较4次就查找到的元素共有_ _个。
8. 由权值为9,2,5,7的四个叶子结点构造的哈夫曼树的高度为 。
9. 假定一组记录为(46,79,56,25,76,38,100,40,80),对其进行快速排序的第一次划分(以46为枢轴记录)后,右区间内元素的个数为_ _。
10. 设有一个空栈,现有输入序列1,2,3,4,5,经过push ,push ,pop ,push ,pop ,push ,push 后,输出序列是 。
11. 在一个图中,所有顶点的度数之和等于所有边数的 倍。
12. 设哈希表长m=14,哈希函数为h(k)=k % 11,用二次探测再散列处理冲突。
表中已有4个记录,其存储地址分别为:h(15)=4,h(84)=7,h(38)=5,h(61)=6。
此时再插入关键字为49的记录,则其存储地址是。
二、单项选择题(每小题2分,共20分)院/系 年级 专业 姓名 学号答 题 勿 超 装 订 线 ------------------------------装---------------------------------------------订----------------------------------------线----------------------------------------1. 下列函数中渐近时间复杂度最小的是( )。
2011年数据结构期末试题(附完整答案)
15.串是一种特殊的线性表,其特殊性体现在( ) A.可以顺序存储 B.数据元素是一个字符 C.可以链接存储 D.数据元素可以是多个字符 16.树的基本遍历策略分为先根遍历和后根遍历;二叉树的基本遍历策 略可分为先序遍历、中序遍历和后序遍历。结论( )是正确的。 A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同 B.树的后根遍历序列与其对应的二叉树的先序遍历序列相同 C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同 D.以上都不对 17.由五个分别带权值为9,2,3,5,14的叶子结点构成的一棵哈夫曼 树,该树的带权路径长度为( )。 A. 60 B. 66 C. 67 D. 50 18.一棵二叉树有67个结点,这些结点的度要么是0,要么是2。这棵二 叉树中度为2的结点有( )个 A. 33 B. 34 C. 32 D. 30 19.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找 值82为的结点时,( )次比较后查找成功。 A. 1 B. 2 C. 4 D. 8 20.若有文件的关键字序列为:[265] [301] [751] [129] [937] [863] [742] [694] [076] [438],以下为二路归并排序过程。第二趟为: A.[265 301] [129 751] [863 937] [694 742] [076 438] B.[076 129 265 301 438 694 742 751 863 937] C.[129 265 301 694 742 751 863 937] [076 438] D.[129 265 301 751] [694 742 863 937] [076 438]
⑴ ⑷
⑵ ⑸
⑶
3.请在标号处填写合适的语句。完成下列程序。(每空1分,共5分) int Binary_Search(S_TBL tbl,KEY kx) { /* 在表tbl中查找关键码为kx的数据元素,若找到返回该元素在表中的位 置,否则,返回0 */ int mid,flag=0; low=1;high=length; while( ⑴ &!flag ) { /* 非空,进行比较测试 */ mid= ⑵ ; if(kx<tbl.elem[mid].key) ⑶ ; else if(kx>tbl.elem[mid].key) ⑷ ; else { flag= ⑸ ;break;} } return flag; } ⑴ ⑵ ⑶ ⑷ ⑸
数据结构(C语言版)第2版习题答案严蔚敏(简化版)
第2章线性表1.选择题(1)顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
A.110 B.108 C.100 D.120答案:B解释:顺序表中的数据连续存储,所以第5个元素的地址为:100+2*4=108。
(3)向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为()。
A.8 B.63.5 C.63 D.7答案:B解释:平均要移动的元素个数为:n/2。
(4)链接存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B.只有一部分,存放结点值C.只有一部分,存储表示结点间关系的指针D.分两部分,一部分存放结点值,另一部分存放结点所占单元数答案:A(5)线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续或不连续都可以答案:D(6)线性表L在()情况下适用于使用链式结构实现。
A.需经常修改L中的结点值B.需不断对L进行删除插入C.L中含有大量的结点D.L中结点结构复杂答案:B解释:链表最大的优点在于插入和删除时不需要移动数据,直接修改指针即可。
(7)单链表的存储密度()。
A.大于1 B.等于1 C.小于1 D.不能确定答案:C解释:存储密度是指一个结点数据本身所占的存储空间和整个结点所占的存储空间之比,假设单链表一个结点本身所占的空间为D,指针域所占的空间为N,则存储密度为:D/(D+N),一定小于1。
(8)将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.n B.2n-1 C.2n D.n-1答案:A解释:当第一个有序表中所有的元素都小于(或大于)第二个表中的元素,只需要用第二个表中的第一个元素依次与第一个表的元素比较,总计比较n次。
(9)在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动()个元素。
2011年辽宁省数据结构试题及答案修改二必过技巧
28、6个顶点的强连通图中,含有的边数至少是
A.4 B.5 C.6 D.7
29、以下说法正确的是 D 。
A.数据项是数据的基本单位
B.数据元素是数据的最小单位
C.数据结构是带结构的数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构
13、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( )
A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,5
14、深度为k的完全二叉树至多有( )个结点
A B C D
43、下列关于哈夫曼树的叙述中,错误的是
A.用n个结点构造的哈夫曼树是唯一的
B.哈夫曼树中只有度为0或度为2的结点
C.树中两个权值最小的结点可能是兄弟结点
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
44、数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
C.head->next ==head D head!=NULL
3、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形 B.引用型
C.指针型 D.常值引用型?
C.可读性和文档性 D.数据复杂性和程序复杂性
21、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形 B.引用型
C.指针型 D.常值引用型?
45、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
数据结构第二章作业及答案
8
解答(续):
(2) 插入操作基本步骤: 1) 若i不合法或表L已满,算法结束并返回 ERROR;否则转2) 2) 将第i个元素及之后的所有元素均后移一个位置 3) 将新元素写入空出的位置; 4) 表长+1
9
解答(续):
插入操作算法(算法2.4 ):
Status ListInsert_Sq(SqList &L, int i , ElemType e) { //在顺序线性表L中第i个位置之前插入新的元素e, // i的合法值为1≤i≤ListLength_Sq(L)+1 if (i<1||i>L.length+1)return ERROR; //i值不合法 if (L.length>=L.listsize) { //当前存储空间已满,重新分配空间 newbase=(ElemType*)realloc(L. elem, (L.listsize+LISTINCREMENT)*sizeof (ElemType)); if (!newbase)exit(OVERFLOW); //存储分配失败 L. elem=newbase; //新基址 L.listsize+=LISTINCREMENT; //增加存储容量 } q=&(L.elem[i-1]); //q为插入位置 for (p=&(L. elem[L.length-1]); p>=q ; --p) *(p+1) = *p; //插入位置及之后的元素右移 *q=e; //插入e ++L.length; //表长增1 return OK; }//ListInsert_Sq
15
4.若某线性表最常用的操作是存取任一指定序号的元素和在最 后进行插入和删除运算,则利用( )存储方式最节省时间。 A.顺序表 B.双向链表 C.带头结点的双向循环链表 1 D.循环链表
11-12学年第2学期数据结构试卷A
11-12学年第2学期数据结构试卷A第页/共页2011-2012学年第二学期期末考试试卷《数据结构》试卷A一、选择题(每题2分,共30分)1.数据结构是【】。
A .一种数据类型B .数据的存储结构C .一组性质相同的数据元素的集合D .相互之间存在一种或多种特定关系的数据元素的集合2..二叉树是非线性数据结构,所以【】。
A .它不能用顺序存储结构存储; B .它不能用链式存储结构存储;C .顺序存储结构和链式存储结构都能存储;D .顺序存储结构和链式存储结构都不能使用3. 设队列中有A,B,C,D,E 这5个元素,其中队首元素为A 。
如果对这个队列重复执行下列4步操作:①输出队首元素;②把队首元素值插入到队尾;③删除队首元素;④再次删除队首元素。
直到队列为空为止,则可能得到的输出序列为:【】。
A. ACECC B. ACE C. ACECCC D. ACEC4.设栈S 和队列Q 的初始状态均为空,元素a,b,c,d,e,f,g 依次进入栈S 。
若每个元素出栈后立即进入队列Q ,且7个元素出队的顺序是b,d,c,f,e,a,g ,则栈S 的容量至少是【】。
A .1B .2C .3D .45.在一个带权连通图G 中,权值最小的边一定包含在G 的【】。
A .最小生成树中B .深度优先生成树中C .广度优先生成树中D .深度优先生成森林中 6.排序算法的稳定性是指【】。
A 经过排序之后,能使值相同的数据保持原顺序中的相对位置不变B 经过排序之后,能使值相同的数据保持原顺序中的绝对位置不变C 算法的排序性能与被排序元素的数量关系不大D 算法的排序性能与被排序元素的数量关系密切7.在下列排序方法中,【】的比较次数与记录的初始排列状态无关。
A. 直接插入排序 B. 起泡排序 C. 快速排序 D. 简单选择排序8.森林转换为二叉树后,从根结点开始一直沿着右子树下去,一共有4个结点,表明【】。
A 森林有4棵树B 森林的最多深度为4C 森林的第一棵树有4层D 森林有4个结点9.二维数组A 的每个元素占用3个存储单元,行下标i 从1变到8,列下标 j 从1变到10。
2010-2011学年第2学期数据结构期末A卷
2010-2011学年第2 学期考试试题(A)卷课程名称 《数据结构》 任课教师签名出题教师签名 审题教师签名考试方式 ( 闭)卷 适用专业 计算机各专业考试时间 ( 120 )分钟题号 一 二 三 四 五 六 总分得分评卷人一、填空题(本大题共 15 小题 20 空, 每空 1 分, 共 20 分)1. _____是数据的基本单位, 在计算机程序中通常作为一个整体进行考虑和处理。
2. 数据的逻辑结构是对数据之间关系的描述, 可分为集合、_____结构、树形结构和 _____结构。
3. 数据的存储结构是数据的逻辑结构在计算机存储器中的实现, 可分为顺序存储、 _____存储、索引存储和_____存储 4 种方式。
4. 抽象数据类型可表示为三元组(D, S, P)表示, 其中D是数据对象, S是D上的关系, P是对 D 的_____。
5. _____是对特定问题求解步骤的一种描述, 是指令的有限序列。
6. 下面算法的时间复杂度是_____。
int Fac(int n){int f;if (n == 0) f = 1;else f = n * Fac(n 1);return f;}7. 只在表的一端进行插入和删除的线性表称为_____, 它的特点是_____。
而在表的 一端进行插入、另一端进行删除的线性表称为_____, 它的特点是_____。
8. 在 C 语言中定义下面的二维实型数组:double a[5][10];每个元素占用8字节内存空间, 若数组起始地址为0x1000, 则元素a[3][5] 的地址 为 0x_____。
9. 将n阶的下三角矩阵采用压缩方式存储到一维数组中, 则元素a ij (1 £ i £ n, 1 £ j£ n)对应一维数组元素的下标k(0 £ k< n(n+ 1) / 2)的计算公式为_____。
10. 已知二叉树先根遍历的序列为 “CDHAFEGB” , 中根遍历的序列为 “HDFAECBG” , 则后根遍历的序列为“_____”。
2011级数据结构试卷A及答案 - 副本 (2)
accesses.(C) Eliminate the recursive calls. (D) Reduce main memory use.(7) Given an array as A[m] [n]. Supposed that A [0] [0] is located at 644(10) and A [2][2] is stored at 676(10), and every element occupies one space. “(10)” means that thenumber is presented in decimals. Then the element A [1] [1](10) is at position:( D)(A) 692 (B) 695 (C) 650 (D) 660(8) If there is 1MB working memory, 4KB blocks, and yield 128 blocks for workingmemory. By the multi-way merge in external sorting, the average run size and the sorted size in one pass of multi-way merge on average are separately ( C)?(A) 1MB, 128 MB (B) 2MB, 512MB(C) 2MB, 256MB (D) 1MB, 256MB(9) In the following sorting algorithms, which is the best one to find the first 10biggest elements in the 1000 unsorted elements? ( B )(A) Quick-sort (B) Heap sort(C ) Insertion sort (D) Replacement selection(10) Assume that we have eight records, with key values A to H, and that they areinitially placed in alphabetical order. Now, consider the result of applying the following access pattern: F D F G E G F A D F G E if the list is organized by the Move-to-front heuristic, then the final list will be ( B).(A)F G D E A B C H (B) E G F D A B C H(C) A B F D G E C H (D) E G F A C B D H2. Fill the blank with correct C++ codes: (16 scores)(1)Given an array storing integers ordered by distinct value without duplicate, modify the binarysearch routines to return the position of the integer with the greatest value less than K when K itself does not appear in the array. Return ERROR if the lest value in the array is greater than K:(10 scores)// Return position of greatest element < Kint newbinary(int array[], int n, int K) {int l = -1;int r = n; // l and r beyond array boundswhile (l+1 != r) { // Stop when l and r meet___ int i=(l+r)/2_____;// Look at middle of subarrayif (K < array[i]) __ r=i ___; // In left halfif (K == array[i]) return i ; // Found itif (K > array[i]) ___ l=i ___ // In right half}// K is not in array or the greatest value is less than Kif K> array[0] (or l!= -1)// the lest value in the array is greater than K with l updated return l ; // when K itself does not appear in the arrayelse return ERROR; // the integer with the lest value greater than K}(2) The number of nodes in a complete binary tree as big as possible with height h is 2h -1(suppose 1-node tree ’s height is 1) (3 scores)(3) The number of different shapes of binary trees with 6 nodes is _132. (3 scores)3. A certain binary tree has the post-order enumeration as EDCBIHJGFA and the in-order enumeration as EBDCAFIHGJ. Try to draw the binary tree and give the postorder enumeration. (The process of your solution is required!!!) (6 scores)preorder enumeration: ABECDFGHIJ4. Determine Θ for the following code fragments in the average case. Assume that all variables are of type int. (6 scores) (1) sum=0;for (i=0; i<5; i++) for (j=0; j<n; j++)sum++; solution : Θ___(n)_______(2) sum = 0;for(i=1;i<=n;i++) for(j=n;j>=i;j--)sum++; solution : Θ__(n 2)________(3) sum=0;if (EVEN(n))for (i=0; i<n; i++) sum++; elsesum=sum+n; solution : Θ___(n)_____5. Show the min-heap that results from running buildheap on the following values stored in an array: 4, 2, 5, 8, 3, 6, 10, 14. (6 scores)6. Design an algorithm to transfer the score report from 100-point to 5-point , the level E corresponding score<60, 60~69 being D, 70~79 being C, 80~89 as B ,score>=90 as A. The distribution table is as following. Please describe your algorithm using a decision tree and give the total path length. (9 scores)Score in 100-point 0-59 60-69 70-79 80-89 90-100 Distribution rate5%10%45%35%5%solution:the design logic is to build a Huffman treeTotal length: 4 * 10% +10% * 3 + 15 %* 3 + 35% * 2 + 45% = 2.25, the 0-false,1-true as thelogic branches.7. Assume a disk drive is configured as follows. The total storage is approximately 675M divided among 15 surfaces. Each surface has 612 tracks; there are 144 sectors/track, 512 byte/sector, and 16 sectors/cluster. The interleaving factor is 3. The disk turns at 7200rmp (8.3ms/r). The track-to-track seek time is 20 ms, and the average seek time is 80 ms. Now how long does it take to read all of the data in a 360 KB file on the disk? Assume that the file ’s clusters are spread randomly across the disk. A seek must be performed each time the I/O reader moves to a new track. Show your calculations. (The process of your solution is required!!!) (9 scores) Solution :A cluster holds 16*0.5K = 8K. Thus, the file requires 360/8=45clusters.The time to read a cluster is seek time to the cluster+ latency time + (interleaf factor × rotation time).Average seek time is defined to be 80 ms. Latency time is 0.5 *8.3, and cluster rotation time is 3 * (16/144)*8.3.Seek time for the total file read time is 45* (80 + 0.5 * 8.3+ 3 * (16/144)*8.3 ) = 3911.258. Using closed hashing, with double hashing to resolve collisions, insert the following keys into a hash table of eleven slots (the slots are numbered 0 through 10). The hash functions to be used are H1 and H2, defined below. You should show the hash table after all eight keys have been inserted. Be sure to indicate how you areusing H1 and H2 to do the hashing. ( The process of your solution is required!!!) H1(k) = 3k mod 11 H2(k) = 7k mod 10+1Keys: 22, 41, 53, 46, 30, 13, 1, 67.(9 scores)Solution :H1(22)=0, H1(41)=2, H1(53)=5, H1(46)=6, no conflictWhen H1(30)=2, H2(30)=1 (2+1*1)%11=3,so 30 enters the 3rd slot; H1(13)=6, H2(13)=2 (6+1*2)%11=8, so 13 enters the 8th slot;H1(1)=3, H2(1)=8 (3+5*8)%11= 10 so 1 enters 10 (pass by 0, 8, 5, 2 );9. You are given a series of records whose keys are chars. The records arrive in the following order: C, S, D, T, A, M, P, I, B, W, N, G , U, R. Show the 2-3 tree that results from inserting these records. (the process of your solution is required!!!) (9 scores) Solution :MSBD PU A C GI N R T W 10.The following graph is a communication network in some area, whose edge presents the channel between two cities with the weight as the channel ’s cost. How to choose the cheapest path that can connect all cities? And how to get cheapest paths scores)Solution :1,C to A: 4 (C,A); CF: 5(C,F); CD: 6(C,A,D); CB: 12(C,A,D,B); CG:11 (C,F,G); CE: 13(C,A,D,B,E)2. Draw the MST: It is a Hamilton path.。
2011年苏州大学计算机872数据结构与操作系统考研真题
一、数据结构部分
注意:算法可以用类C、类C++、类JAVA或类PASCAL等语言编写,并请写出举型说明。
1、(15分)简答题
(1)栈和队列有什么共同点和不同点?
(2)什么是矩阵的压缩存储?试举例说明。
2、(15 分)判断以下论述是否正确:对任意一个图,从它的某个顶点出发进行一次深度优先或广度优先搜索遍历可访问到该图的每个顶点。
请说明理由。
3、(15分)设单链表不带表头结点,编写递归算法删除单链表中所有值为x的元素。
4、(15分)假设-一个仅包含二元运算符的算术表达式以链表形式存储在二叉树中,写出计算该算术表达式值的算法。
5、(15分)给定一个整型元素组成的顺序线性表,设计-一个高效的算法重新排列表中的元素,使得偶数位序的元素为偶数或者奇数位序的元素为奇数;即:使得这两个目标至少有一个能满足。
二、操作系统部分
6、(20 分)名词解释进程
(1)进程
(2)虚拟地址
(3)多道程序设计
(4)分时操作系统
(5)动态重定位
7、(10分)请叙述文件目录项、文件目录、目录文件之间的差别和关系。
8、(10分)简单叙述虚存的目的和作用。
9、(20分)举例说明两种进程调度算法,并比较它们之间的优缺点。
10、(15 分)写出银行家算法的大致流程,并举例说明其用法。
数据结构试题及答案汇总
数据结构试卷(二)一、选择题(24分)1.下面关于线性表的叙述错误的是()。
(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。
(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。
(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
(A) BADC (B) BCDA (C) CDAB (D) CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。
(A) n(n-1)/2 (B) n(n-1) (C) n2(D) n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。
(A) 9 (B) 10 (C) 11 (D) 127.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。
(A) n-1 (B) n (C) n+1 (D) 2n-18.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。
(A) 2,3,5,8,6 (B) 3,2,5,8,6(C) 3,2,5,6,8 (D) 2,3,6,5,8二、填空题(24分)1. 1. 为了能有效地应用HASH查找技术,必须解决的两个问题是____________________和__________________________。
2011年数据结构试卷 (1)
中南民族大学2007—2008学年第 2 学期 期末考试试卷 课程名称:数据结构 试卷类型:A 卷 共14页 考试形式:闭卷考试使用范围:电信 学院(系) 2007 年级 所有 专业 本科…………………………密……………………封……………………线…………………………… 学院 专业 级 学 姓一、判断题(每题1分,共10分)1. 头指针head 指向的带头结点的单链表(该链表至少有1个结点)中,第一个结点的地址即为head->next 。
( T )2. 头指针head 指向的带头结点的单链表不为空的判断条件是head->next->next != NULL 。
( F )3. 在单链表中必须使某指针指向某个结点才能将该结点删除。
( F )4. 在单链表中,删除一个结点之前必须让某指针指向该结点。
( F )5. 一般情况下,顺序栈中元素存满时,栈顶指针将不指向栈中存放的任何元素。
( T )6. 一般情况下,顺序栈中的栈顶指针不可能指向栈分配空间以外的内存区域。
( T )7. 循环队列中,主要通过“队尾指针”下一个位置等于“队头指针”,即rear = = front + 1,来判断队列为满。
( T )注意事项:1. 考生将姓名、学号等信息写在试卷相应位置;2. 必须使用蓝(黑)色钢笔或签字笔在规定位置答题;3. 注意字迹清楚,保持卷面整洁。
A8. 循环队列中,判断队列为满时“队尾指针”一定指向“队头指针”下一个位置,即rear = = front + 1。
( F )9. 堆分配是串的一种链式存储结构。
( F ) 10. 堆分配是串的一种顺序存储结构。
( T )11. “求子串”得到的结果是子串在主串中第一次出现的位置。
( T ) 12. “求子串”得到的结果是子串在主串中第一次出现的位置。
( T )13. 一般情况下,n ×n 的三角矩阵压缩存储需要122n 个存储单元。
( F )0.5(n+1)*n14. 一般情况下,三角矩阵压缩存储后存放元素的个数,等于压缩前元素个数的一半再加一。
数据结构练习-2章(答案)精品
【关键字】活动、设计、情况、方法、条件、成就、空间、文件、模式、问题、系统、快速、沟通、执行、保持、特点、位置、关键、稳定、网络、需要、工程、方式、增量、结构、速度、关系、优先、解决、实现数据结构作业一、设n为整数,利用大“O”记号,求下列程序段的时间复杂度1、i=0;k=0;Do{ k=k*10*i; i++;} while (i<n);//2、i=1;{else}//3、x=n; //n>14、x=91;while (y>0)else// T(n)=二、选择题1 C )两大类。
A B.顺序结构、链式结构C D.初等结构、构造型结构2、以下数据结构中,哪一个是线性结构( D )?A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串3、在下面的程序段中,对x的赋值语句的频度为( C )for (i=1;i<=n;i++)for (j=1;j<=n;j++)x=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)4、下面关于线性表的叙述中,错误的是哪一个?( B )A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
5、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表6、静态链表中指针表示的是( B ).A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址7、下面的叙述不正确的是( B、C )A.线性表在链式存储时,查找第i个元素的时间同i的值成正比B. 线性表在链式存储时,查找第i个元素的时间同i的值无关C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关8、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( C )(1<=i<=n+1)。
第二次作业答案
第三章需求分析作业一、名词解释结构化分析方法:面向数据流进行需求分析的方法,采用自顶向下、逐步求精的分析方法。
数据流图:用图形的方式从数据加工的角度来描述数据在系统中流动和处理的过程,只反映系统必须完成的功能,是一种功能模型。
数据字典:用于定义对数据流图中的各个成分的具体含义。
二、填空1、需求分析是指开发人员通过细致的调查,准确理解用户的要求,将用户非形式化的需求转化为完整的需求定义,再把需求定义转化为相应的形式化功能规约的过程。
2、需求分析的基本任务是准确定义新系统的目标,为了满足用户的需要,回答系统必须“做什么”的问题。
3、需求分析阶段需编写的文档有需求规格说明书、初步用户手册、软件测试计划。
4、数据流图的基本组成部分有源点/终点、加工、数据流、数据存储。
5、数据流图和数据字典共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。
6、结构化分析方法是面向数据流的、自顶向下、逐步求精进行分析的方法。
7、数据字典有以下四类条目:数据加工、数据流、数据存储、数据元素。
数据元素是组成组成数据流和数据存储的最小元素。
8、在结构化分析的需求描述中,数据流图描述系统的分解,即描述系统由哪几部分组成,各部分有什么联系等等。
数据字典定义了数据流图中每一个图形元素。
9、在数据流图中,数据流是数据在系统内传播的路径,因此由一组固定的数据项组成。
加工(又称为数据处理)是对数据流进行的某些处理。
三、单项选择题1、需求分析阶段最重要的技术文档之一是( C )。
A.项目开发计划B.设计说明书C.需求规格说明书D.可行性分析报告2、在需求分析之前有必要进行( B )A.程序设计B.可行性分析C.ER分析D.3NF分析3、软件需求分析阶段建立原型的主要目的时( A )。
A.确定系统的功能和性能要求B.确定系统的运行要求C.确定系统是否满足用户需要D.确定系统是否满足开发人员需要4、软件开发的需求活动,其主要任务是( D )。
数据结构第二次作业答案
数据结构第二次作业答案一、单项选择题1。
C 2. B 3。
A 4. A 5。
D 6。
A7。
D 8。
C 9. D 10. C 11. D 12。
C 13. A二、填空题1。
存储 2. 先进先出 3。
栈顶指针 4。
队尾5。
一 6。
局部变量 7。
表尾 8。
重数9. 3 10。
6 11。
6 12. 2h+1—1三、判断题1。
错 2. 对 3。
对 4. 对 5。
错 6。
对 7. 对 8. 错 9. 错四、运算题1.叶子结点数: 5单分支结点数:3两分支结点数:2三分支结点数:12.元素 34 56 58 63 94比较次数 2 1 3 4 43。
左子树为空的所有单支结点:15,23,42,44右子树为空的所有单支结点:304.插入时造成不平衡的结点个数:45。
结点 a b c d e出度 1 1 2 1 2入度 2 2 1 1 16。
(1) 1,3,4,6,5,2 (3分)(2) 1,3,2,4,5,6 (3分)五、算法分析题1.利用"栈”作为辅助存储,将队列中的元素逆置(即相反次序放置)。
2.(1) q = q-〉lLink(2) return 1(3) return 03。
1→21→32→34.(1) return PT(2) (PT=ParentPtr(BT-〉right,BT,X))(3) return NULL 或return 0六、算法设计题1.float poly(float x, float A[], int n) { if(!n) return A[0];else return x*poly(x, A, n-1)+A[n];}2。
int BTreeHeight(BinTreeNode* BT){if(BT==NULL)//对于空树,返回-1并结束递归return –1;else{//计算左子树的高度int h1=BTreeHeight(BT—>left); //计算右子树的高度int h2=BTreeHeight(BT-〉right); //返回树的高度if(h1〉h2) return h1+1;else return h2+1;}}3.int BTreeLeafCount(BinTreeNode* BT){if(BT==NULL) return 0;else if(BT->left==NULL && BT—>right==NULL) return 1;else return BTreeLeafCount(BT—>left)+BTreeLeafCount(BT->right);}数据结构第三次作业答案一、单项选择题1。
2011安徽省数据结构(C++)试题及答案
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
18、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
22、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
23、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)2,4,3,5,1,6 D)4,5,3,6,2,1
13、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( A )。
A)直接选择排序 B)直接插入排序
C)快速排序 D)起泡排序
A)13 B)33 C)18 D)40
41、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
42、与无向图相关的术语有( C )。
A)强连通图 B)入度
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
19、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表
10、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011年12月考试数据结构第二次作业
一、单项选择题(本大题共100分,共 25 小题,每小题 4 分)
1. 树型结构是数据元素之间存在一种:( )
A. 一对多关系
B. 多对多关系
C. 多对一关系
D. 一对一关系
2. 以下的排序算法属于稳定排序算法的是()
A. 基数排序
B. 快速排序
C. 希尔排序
D. 堆排序
3. 适于对动态查找表进行高效率查找的组织结构是()
A. 有序表
B. 分块有序表
C. 二叉排序树
D. 线性链表
4. 用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下: 20,15,21,25,47,27,68,35,84 15,20,21,25,35,27,47,68,84 15,20,21,25,27,35,47,68,84 则所采用的排序方法是()
A. 选择排序
B. 希尔排序
C. 归并排序
D. 快速排序
5. 在一棵二叉树中,度为2的结点有2个,那么,该树有()个叶结点。
A. 3
B. 4
C. 5
D. 6
6. 图中有n个顶点,e条边,如果用邻接矩阵表示图,则深度优先搜索遍历图的时间复杂性为()。
A. O(n)
B. O(e)
C. O(n2)
D. O(n+e)
7. 分块查找中块内的查找采用的查找方法是()
A. 顺序查找
B. 折半查找
C. 顺序查找、折半查找都可以
D. 顺序查找、折半查找都不可以
8. 假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi 相关的所有弧的时间复杂度是( )
A. O(n)
B. O(e)
C. O(n+e)
D. O(n*e)
9. 在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加()。
A. 2
B. 1
C. 0
D. –1
10. 若n个顶点的无向图采用邻接矩阵存储方法,该邻接矩阵为一个什么矩阵?()
A. 对称矩阵
B. 一般矩阵
C. 稀疏矩阵
D. 对角矩阵
11. 平衡二叉树的平衡因子的取值不可能是()
A. 1
B. -1
C. 0
D. 2
12. 在二叉树的中序遍历递归算法中,顺着搜索路径,在第( )次经过结点时作访问操作。
A. 1
B. 2
C. 3
D. 4
13. VSAM文件中的记录均存放在()。
A. 数据集
B. 索引集
C. 顺序集
D. 以上都不是
14. 关键路径是AOE网络中()
A. 从源点到汇点的最长路径
B. 最短的回路
C. 从源点到汇点的最短路径
D. 最长的回路
15. 对数据元素序列(49,72,68,13,38,50,97,27)进行排序,如果采用起泡排序方法,则第二趟排序结果是()
A. 49,68,13,38,50,72,27,97
B. 13,38,49,50,27,68,72,97
C. 49,13,38,50,68,27,72,97
D. 13,38,49,27,50,68,72,97
16. 如果只想得到1024个元素组成的序列中的前6个最小元素,那么用()方法最快。
A. 起泡排序
C. 堆排序
D. 直接选择排序
17. 哈希表表长为m,k为关键字,哈希地址H(k)=k MOD p。
为了减少发生冲突的频率,一般取p为()
A. 小于m的最大奇数
B. 小于m的最大合数
C. 小于m的最大素数
D. 大于m的最小素数
18. 处理溢出可以采用哈希表中处理冲突的各种方法,但对散列文件,主要采用()
A. 开放地址法
B. 再哈希法
C. 链地址法
D. 建立一个公共溢出区
19. 设图G采用邻接表存储,则拓扑排序算法的时间复杂度为()
A. O(n)
B. O(n+e)
C. O(n2)
D. O(n×e)
20. 一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为()。
A. {38,46,79,56,40,84}
B. {38,79,56,46,40,84}
C. {40,38,46,56,79,84}
D. {38,46,56,79,40,84}
21. 把一棵树转换为二叉树后,这棵二叉树的形态是()。
A. 唯一的
B. 有多种
C. 有多种,但根结点都没有左孩子
D. 有多种,但根结点都没有右孩子
22. 在一个图中,所有顶点的度数之和等于所有边数的多少倍?()
A. 1/2
B. 1
C. 2
D. 4。
23. 在对应于序列(12,5,8,15,25,10,30,7)的二叉排序树中查找30需要进行多少次比较。
()
A. 1
B. 2
C. 3
D. 4
24. 在基于关键字比较的排序算法中,()算法的最坏情况下的时间复杂度不高于O(nlog2n)。
B. 希尔排序
C. 归并排序
D. 快速排序
25. 下列哪项属于顺序文件的优点?()
A. 顺序存取速度快
B. 适合随机存取
C. 适合按关键字存取
D. 以上都不是
答案:
一、单项选择题(100分,共 25 题,每小题 4 分)
1. A
2. A
3. C
4. B
5. A
6. C
7. A
8. C
9. A 10. A 11. D 12. B 13. A
14. A 15. C 16. D 17. C 18. C 19. B 20. C 21. A 22. C 23. D 24. C 25.
A。