北京理工大学2013级数据结构B试题(A卷)-答案

合集下载

北京理工大学《数据结构》试题及答案(B卷)

北京理工大学《数据结构》试题及答案(B卷)

一、单项选择题1.算法必须具备的三个特性是( )。

A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性2.下列数据中,( )是非线性数据结构。

A.栈B.队列C.完全二叉树D.顺序表3.算法分析的两个方面是( )。

A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性4.非空的循环单链表head的尾结点p满足( )。

A.p->next==head B.p->next==NULLC.p==NULL D.p==head5.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( )。

A.p->next=s;s->next=p->next; B.s->next=p->next;p->next=s;C.p->next=s;p->next=s->next; D.p->next=s->next;p->next=s;6.按照二叉树的定义,具有3个结点的二叉树有( )种。

A.3 B.4C.5 D.67.在一个有向图中,所有顶点的入度之和是所有顶点的出度之和的( )倍。

A.1/2 B.1C.2 D.48.二叉排序树是( )。

A.每一分支结点的度均为2的二叉树B.中序遍历得到一升序序列的二叉树C.按从左到右顺序编号的二叉树D.每一分支结点的值均小于左子树上所有结点的值,大于右子树上所有结点的值9.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是( )。

A.1和 5 B.2和4C.4和2 D.5和110.下列说法中正确的是( )。

A.堆栈是在两端操作、先进后出的线性表B.堆栈是在一端操作、先进先出的线性表C.队列是在一端操作、先进先出的线性表D.队列是在两端操作、先进先出的线性表11.不带头结点的单链表head为空的判定条件是( )。

2013级软件工程数据结构B卷答案及评分细则

2013级软件工程数据结构B卷答案及评分细则

10级软件工程专业《数据结构》试题B卷答案及评分细则一、选择题(每小题3分,共30分,选错不给分,选对给3分)1,C 2,A 3,D 4,C 5,B 6,C 7,B 8,B 9,A 10,A二、填空题(每空2分,共20分,填对给2分,填错不给分)1,2 4;2,SXSSXXSX3,-+A*BC/DE4,128 75,存储位置指针6,任意若干连续字符序列7,相同类型数据元素三、应用题1 解:其步骤为i1=index(S,S1,1)………………………………………………(2分)i2=index(S,S2,1)+3………………………………………………(2分)sub1=substr(S,i1,length(S)-i1+1) …………………………………(2分)sub2=substr(S,i2,length(S)-i2+1…………………………………………(2分) S3=concat(sub1, sub2) ………………………………………………(2分)2 解本题即为构造最小生成树,按照最小生成树的构造方法,构造如下:303解:其拓扑排序序列为152634;156234;152364;512634;516234;512364;5612344 解:按照题目要求构造的二叉树如下四、算法设计题由于队列是先进先出,而栈是先进后出,所以只有经过两个栈,即先在第一个栈里先进后出,再经过第二个栈后进先出来实现队列的先进先出。

因此用两个栈模拟一个队列运算就是用一个栈作为输入,而另一个栈作为输出。

当进队列时,总是将数据进入到作为输入的栈中。

在输出时,如果作为输出的栈已空,则从输入栈将已输入到输入栈的所有数据压入输出栈中,然后由输出栈输出数据;如果作为输出的栈不空,则就从输出栈输出数据。

显然,只有在输入、输出栈均为空时队列才为空。

…………………………(写出思想给5分)一个栈s1用来插入元素,另一个栈S2用来删除元素,删除元素时应将前一栈s1中的所有元素读出,然后进入到第二个栈s2中,算法描述如下:Void Enqueue(s1,x)……………………………………………(2分)stack s1;int x;{if(s1->top==0)Printf(“队列上溢“);ElsePush(s1,x);}Void Dequeue(s1,s2,x) ……………………………………………(2分)Stack s1,s2;Int x;{ S->top=0; /将s2清空While (!empty(s1) /将s1的所有元素退栈后压入s2,此时栈s1为空 Push(s2,pop(s1));Pop(s2,x); /弹出栈s2的栈顶元素(对首元素)并赋给xWhile (!empty(s2) /将剩于元素重新压入栈s1恢复为原s1中的顺序 Push(s1,pop(s2));}Int Queue_empty(s1)……………………………………………(1分) Stack s1;{if empty(s1)Return(1);ElseReturn(0);}。

(完整版)北京理工大学2013-2014学年第一学期《机械设计基础》期末试题A卷及参考答案

(完整版)北京理工大学2013-2014学年第一学期《机械设计基础》期末试题A卷及参考答案

课程编号:03000138 北京理工大学2013~2014学年第一学期2011级机械设计基础期末试题A卷答案班级学号姓名成绩一、是非题(正确的在括号内划√,错误的划×,每题2分,共10分)1. 滚动轴承座圈和滚动体的常用材料是45钢调质。

(F)2. 在铰链四杆机构中,压力角越小,机构的传动性能越好。

(T)3. 带传动中对带的疲劳寿命影响最大的应力是小带轮上的弯曲应力(T)4. 只要是渐开线标准齿轮,在齿轮齿廓上任一位置处的压力角都应为国家标准值20o(F)5. 滚动轴承为标准件,为便于互换和生产,轴承内圈孔与轴的配合应采用基轴制(F)二、选择题(把正确的答案选项填入空格内,每题2分,共20分)1. 利用范成法加工渐开线标准齿轮时,若被加工的齿轮(D )太小,就会发生根切现象。

A 模数B 压力角C 齿厚D 齿数2. 设计凸轮时,若工作行程中的最大压力角大于许用压力角,则应(A)。

A 增大基圆半径B 减小基圆半径C 增大滚子半径D 减小滚子半径3. 只承受弯矩而不传递转矩的轴称为(C )。

A 传动轴B 转轴C 心轴D 曲轴4. 为了提高齿轮的齿面接触疲劳强度,可以(B )。

A 加大模数B 加大中心矩C 减小齿宽系数D 减小啮合角5. 键的长度主要是根据( B )来选择。

A传递转矩大小 B 轮毂长度 C 轴直径 D 键剖面尺寸6. 被连接件受横向外力作用时,如采用普通螺栓连接,则螺栓可能的失效形式为(C )。

A 剪切破坏B挤压破坏 C 拉、扭联合作用下断裂D 拉、扭联合作用下塑性变形7. 在载荷不平稳且有较大冲击和振动的情况下,一般宜选用(C)联轴器。

A 刚性B 无弹性元件挠性C 有弹性元件挠性D 安全8. 在同样载荷和同样工作条件下运转的同一批生产的同型号的滚动轴承,它们的寿命一般(B)。

A 相同B 不相同C 90%轴承相同D 10%轴承相同9. 在轴的初步计算中,轴的直径是按(B)进行初步确定的。

北京理工大学2013级数据结构B试题(A卷)_答案模板

北京理工大学2013级数据结构B试题(A卷)_答案模板

、选择题1从逻辑结构上可以把数据结构分为【 A 、动态结构和静态结构 C 、线性结构和非线性结构2、在一个长度为n 的顺序存储的线性表中,向第i 个元素(n+1)之前插入一个新元 素时,需要从后向前依次后移【 B 】个元素。

4、在一个单链表中,已知q 所指结点是p 所指结点的前驱结点,若在q 和p 之间插入s 结点, 则执行【C 】。

A 、 s->next = p->next; p->next = s; B 、 p->next = s->next; s->next = p; C 、 q->next = s; s->next = p; D p->next = s; s->next = q;5、 一个栈的入栈序列是1, 2, 3, 4, 5,则栈不可能输出的序列是【C 】。

A 、54321B 、45321C 、43512D 123456、 判断一个队列Q (元素最多为Mt )为空的条件是【C 】。

A 、Q->rear —Q->front = M B 、Q->rear —Q->front -1 ==M C 、Q->rear == Q->frontD Q->rear + 1 == Q->front7、 在一个链队列中,假设f 和r 分别指向队首和队尾,贝朋入s 所指结点的运算是【A 】A 、r->next = s; r=s;B 、f->next = s; f=s;C 、s->next = r; r=s;D s->next = f; f=s;8深度为5的二叉树至多有【A 】个结点。

A 、31B 、32C 16D 109、 在一非空二叉树的中序遍历序列中,根结点的右边【 A 】。

A 、只有右子树上的所有结点B 、只有右子树上的部分结点C 、只有左子树上的所有结点B 、只有左子树上的部分结点10、 如果一棵完全二叉树有1001个结点,则其叶子结点个数为【D 】。

北京理工大学数据结构试题及答案

北京理工大学数据结构试题及答案

北京理工大学数据结构 10 年期末试题数据结构试卷(一)、单选题(每题 2 分,共 20 分)1. 栈和队列的共同特点是 ()。

A. 只允许在端点处插入和删除元素B. 都是先进后出C. 都是先进先出D. 没有共同点2. 用链接方式存储的队列,在进行插入运算时 ().A. 仅修改头指针B. 头、尾指针都要修改C.仅修改尾指针D.头、尾指针可能都要修改10.设有 6个结点的无向图,该图至少应有 ()条边才能确保是一个连通图。

A.5B.6C.7D.8二、填空题(每空 1 分,共 26 分)1. 通常从四个方面评价算法的质量: ____________ 、 ________ 、 ________ 和 __________ 。

2. 一个算法的时间复杂度为(n 3+n 2log 2n +i4n )/n 2,其数量级表示为 ____________ 。

3. 假定一棵树的广义表表示为A ( C ,D ( E ,F ,G ),H ( I ,J )),则树中所含的结点数为 __________ 个,树的深度为 ____________ 树的度为 __________ 。

4. 后缀算式 9 2 3 +- 10 2 / -的值为 _________ 。

中缀算式( 3+4X ) -2Y/3 对应的后缀算式 为 ________________________________ 。

5.若用链表存储一棵二叉树时, 每个结点除数据域外, 还有指向左孩子和右孩子的两个指 针。

在这种存储结构中, n 个结点的二叉树共有 ___________ 个指针域,其中有 ________ 个 指针域是存放了地址,有 __________________ 个指针是空指针。

3. 4. 5. 以下数据结构中哪一个是非线性结构? ()A. 队列B. 栈C. 线性表D. 二叉树设有一个二维数组 A [m ][n ],假设A [0][0]存放位置在644伽A [2][2]存放位置在676(io ), 每个元素占一个空间,问A .688B . 树最适合用来表示 (A.有序数据元素A [3][3](IO )存放在什么位置?脚注(io 表示用10进制表示。

02331数据结构2013年10月份历年真题附答案

02331数据结构2013年10月份历年真题附答案

绝密★考试结束前全国2013年10月高等教育自学考试数据结构试题课程代码:02331请考生按规定用笔将所有试题的答案涂、写在答题纸上。

选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。

2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。

如需改动,用橡皮擦干净后,再选涂其他答案标号。

不能答在试题卷上。

一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。

错涂、多涂或未涂均无分。

1.算法的时间复杂度表征的是A.算法的可读性B.算法的难易程度C.执行算法所耗费的时间D.执行算法所耗费的存储空间2.对需要频繁插入和删除结点的线性表,适合的存储方式是A.顺序储存B.链式存储C.索引存储D.散列存储3.在头指针为head的循环链表中,判断指针变量P指向尾结点的条件是A.p->next->next==head B.p->next==headC.p->next->next==NULL D.p->next==NULL4.迪杰斯特拉(Dijkstra)算法的功能是A.求图中某顶点到其他顶点的最短路径B.求图中所有顶点之间的最短路径C.求图的最小生成树D.求图的拓扑排序序列5.若栈的进栈序列为1,2,3,4,5,则经过出入栈操作不可能...获得的出栈序列是A.4,5,3,2,1 B.4,3,5,1,2C.1,2,3,4,5 D.5,4,3,2,16.A是7×4的二维数组,按行优先方式顺序存储,元素A[0][0]的存储地址为1 000,若每个元素占2个字节,则元素A[3][3]的存储地址为A.1015 B.1016C.1028 D.10307.深度为4的完全二叉树的结点数至少为A.4 B.8C.13 D.158.若采用邻接矩阵A存储有向图G,则结点k的入度等于A中A.结点k对应行元素之和B.结点k对应列元素之和C.结点k对应行和列元素之和D.非零元素之和9.无向图G的邻接矩阵一定是A.对称矩阵B.对角矩阵C.三角矩阵D.单位矩阵10.下列关于有向带权图G的叙述中,错误..的是A.图G的任何一棵生成树都不含有回路B.图G生成树所含的边数等于顶点数减1C.图G含有回路时无法得到拓扑序列D.图G的最小生成树总是唯一的11.在下列排序算法中,关键字比较次数与初始排列次序无关的是A.冒泡排序B.希尔排序C.直接插入排序D.直接选择排序1 2.对下图进行拓扑排序,可以得到的拓扑序列是A.a b c d e B.b a c d eC.b c a d e D.a b d c e13.下列线性表中,能使用二分查找的是A.顺序存储(2,12,5,6,9,3,89,34,25) B.链式存储(2,12,5,6,9,3,89,34,25) C.顺序存储(2,3,5,6,9,12,25,34,89) D.链式存储(2,3,5,6,9,12,25,34,89) 14.在下列查找方法中,平均查找长度与结点数量无直接关系的是A.顺序查找B.分块查找C.散列查找D.基于B树的查找15.下列排序算法中,时间复杂度为O(nlog2 n)的算法是A.快速排序B.冒泡排序C.直接选择排序D.直接插入排序非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

2012 ~ 2013学年第二学期-数据结构期中试卷_北理珠(2013-5-11)

2012 ~ 2013学年第二学期-数据结构期中试卷_北理珠(2013-5-11)

A. SA+141B. SA+180C. SA+186D. SA+2107、用无回溯的模式匹配法(KMP法)求串“ababab”的next[j]的值为()。

A. 010101B. 011221C. 011233D. 011234C.可链接存储D. 数据元素可以是多个字符8、链表不具有的特点是()。

A. 可随机访问任一元素B. 插入删除不需要移动元素C. 不必事先估计存储空间D. 所需空间与线性表长度成正比9、中缀表达式A*(B+C)/(D-E+F)的后缀表达式是()。

A. A*B+C/D-E+FB. AB*C+D/E-F+C. ABC+*DE-F+/D. ABCDEF*+/-+10、已知输入序列为abcd,经过输出受限的双端队列后能得到的输出序列是()。

A. dacbB. cadbC. dbcaD. 以上都不是二、填空题(每空2.5分,共25分)【得分:】1、有如下递归函数:int func(int n){if(n<2) return(n);else return(func(n-1)+func(n-2));}执行语句printf(“%d\n”,func(4));的结果是。

2、若一个算法中的语句频度之和为T(n)=3n+n*log2n+n2,则算法的时间复杂度为O(_ ___)。

3、不带头结点的单链表head为空的条件是。

4、假设为循环队列分配的向量空间为Q[20](下标从0开始),若队列的长度和队头指针值分别为13和17,则当前队尾指针的值为。

5、将一个A[15][15]的对称矩阵采用只存储下三角中元素的压缩存储(第一个元素为A[0][0]),按行优先存入一维数组B[120]中,A中元素[3][7]在B 数组中的位置为。

6、广义表运算式HEAD(TAIL((a,b,c),(x,y,z)))的结果是。

7、已知L是带头结点的非空单链表,删除首元结点的三条语句为:P=L->next;;free(P);8、表长为N的顺序表,当在任何位置上插入或删除一个元素的概率相等时,第2页共7页第 3 页 共 7 页……………………………………………装………………………………订…………………………线……………………………………………………此处不能书写此处不能书写此处不能书写 此处不能书写此处不能书写 此处不能书写此处不能书写插入一个元素所需移动元素的平均次数为: ;删除一个元素需要移动的元素个数为: 。

北京理工大学2013级数据结构B试题(A卷)_答案模板

北京理工大学2013级数据结构B试题(A卷)_答案模板

一、选择题1、从逻辑结构上可以把数据结构分为【 C 】。

A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构2、在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移【 B 】个元素。

A、n-iB、n-i+1C、n-i-1D、i3、链表结构不具有下列【 B 】特点。

A、插入和删除无需移动元素B、可随机访问链表中的任意元素C、无需实现分配存储空间D、所需空间与结点个数成正比。

4、在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行【C】。

A、s->next = p->next; p->next = s;B、p->next = s->next; s->next = p;C、q->next = s; s->next = p;D、p->next = s; s->next = q;5、一个栈的入栈序列是1,2,3,4,5,则栈不可能输出的序列是【 C 】。

A、54321B、45321C、43512D、123456、判断一个队列Q(元素最多为M个)为空的条件是【 C 】。

A、Q->rear – Q->front = MB、Q->rear – Q->front -1 ==MC、Q->rear == Q->frontD、Q->rear + 1 == Q->front7、在一个链队列中,假设f和r分别指向队首和队尾,则插入s所指结点的运算是【 A 】。

A、r->next = s; r=s;B、f->next = s; f=s;C、s->next = r; r=s;D、s->next = f; f=s;8、深度为5的二叉树至多有【 A 】个结点。

A、31B、32C、16D、109、在一非空二叉树的中序遍历序列中,根结点的右边【 A 】。

真题_2013年_数据结构

真题_2013年_数据结构

二、综合应用题:41~47小题,共70分。
41.(13分)参考答案 (2)参考算法: int Majority(int A[ ], int n) { int *C; C=new int [n]; for (int i=0; i<n; i++) C[i]=0; for (i=0; i<n; i++) C[A[i]] ++; for (i=0; i<n; i++) if (C[i]>n/2) return i; //找到了主元素 return -1; //没有找到主元素 }
1.已知两个长度分别为m和n的升序链表,若将它们合并为一个 长度为m+n的降序链表,则最坏情况下的时间复杂度是 A.O(n) B.O(m*n) C.O(min(m,n)) D.O(max(m,n))
参考答案: D
2.一个栈的入栈序列是1,2,3,...,n,其出栈序列是p1,p2,p3,...,pn。 若p2=3,则p3可能取值的个数是 A.n-3 B.n-2 C.n-1 D.不确定
11. 对给定的关键字序列110,119,007,911, 114,120,122进行基数排序,则第2趟分配收 集后得到的关键字序列是 A. 007,110,119,114,911,120,122 B. 007,110,119,114,911,122,120 C. 007,110,911,114,119,120,122 D. 110,120,911,122,114,007,1题:41~47小题,共70分。
二、综合应用题:41~47小题,共70分。
41.(13分)参考答案 (1)给出算法的基本设计思想。 利用计数排序的思想,先求出原序列中每个元素的出现次数 并保存在另一计数数组中 然后检查计数数组中每个元素的值,返回值大于n/2的计数数 组值。否则返回-1 (2)根据设计思想,采用C或C++或Java语言描述算法,关键 之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度 T(n)=O(n) S(n)=O(n)

02331数据结构2013年1 月份历年真题附答案

02331数据结构2013年1 月份历年真题附答案

2013年1月高等教育自学考试全国统一命题考试数据结构试题课程代码:02331考生答题注意事项:1.本卷所有试卷必须在答题卡上作答。

答在试卷和草稿纸上的无效。

2.第一部分为选择题。

必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。

3.第二部分为非选择题。

必须注明大、小题号,使用0.5毫米黑色字迹笔作答。

4.合理安排答题空间,超出答题区域无效。

选择题部分一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。

错涂、多涂或未涂均无分。

1.数据的逻辑结构可以分为A.动态结构和静态结构 B.顺序结构和链式结构C.线性结构和非线性结构 D.简单结构和构造结构2.线性表是一个有限序列,组成线性表的基本单位是A.数据项 B.数据元素C.数据域 D.字符3.栈中有a、b和c三个元素,a是栈底元素,c是栈顶元素,元素d等待进栈,则不可..能.的出栈序列是A.dcba B.cbdaC.cadb D.cdba4.稀疏矩阵的三元组表是A.顺序存储结构 B.链式存储结构C.索引存储结构 D.散列表存储结构5.已知广义表G,head(G)与tail(G)的深度均为6,则G的深度是A.5 B.6C.7 D.86.下列编码集合中,属于前缀编码的一组是A.{11,10,001,101,0001}B.{00,010,0110,1000}C.{11,01,001,0101,0001}D.{0,10,110,1011}7.如题7图所示二叉树的中序序列为A.ACDBB.DCBAC.CDBAD.ABCD题7图8.有向图中所有顶点入度之和与所有顶点出度之和的比是A.1/2 B.1C.2 D.49.含有n个顶点和e条边的有向图的邻接矩阵中,零元素的个数是A.eB.2eC.n2-2eD.n2-e10.n个顶点的无向连通图,其生成树的边数为A.n-lB.nC.n+lD.nlogn11.用自底向上的冒泡排序方法对序列(8,13,26,55,29,44)从大到小排序,第一趟排序需进行交换的次数为A.2 B.3C.4 D.512.对序列(8,13,26,55,29,44)从小到大进行基数排序,第一趟排序的结果是A.(13,44,55,26,8,29)B.(13,26,55,44,8,29)C.(8,13,26,29,44,55)D.(29,26,8,44,55,13)13.采用分块查找时,要求数据A.块内有序 B.分块有序C.分块无序 D.每块中数据个数必须相同14.下列关于散列函数的说法正确的是A.散列函数越复杂越好B.散列函数越简单越好C.用除余法构造的散列函数是最好的D.在冲突尽可能少的情况下,散列函数越简单越好15.下列关于m阶B树的叙述中,错误..的是A.每个结点至多有m棵子树B.每个结点至多有m-1个关键字 C .所有的叶结点均在同一层上 D.根结点至少有/2m ⎡⎤⎢⎥棵子树非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

2012-2013(2)数据结构A卷及参考答案资料

2012-2013(2)数据结构A卷及参考答案资料

一、填空题(每空1 分,共10分)1.向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1个元素。

2.带有一个头结点的单链表head为空的条件是head->next=head。

3.由带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为44 。

4.设s=’I︺AM︺A︺TEACHER’,其长度是 14 。

5.二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元并且A[0][0]的存储地址是200,则A[6][12]的地址是326。

6.假设在有序线性表A[1..20]上进行二分查找,则比较一次查找成功的结点数目个数为__ 1__。

7.深度为k的完全二叉树至少有2k-1个结点,至多有2k-1个结点。

8.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i ]等于1。

9.执行广义表操作GetTail[ GetHead[ ((a,b),(c,d)) ] ]后的结果为(b)。

二、选择题(每小题1分,共10分)1.下列数据中,哪一个是非线性结构?( D )A. 栈B. 队列C. 字符串D. 二叉树2.设P指向单链表的某个节点,在P之后插入一个节点S的操作为( C)A. P->next = S;B. P->next = S->next; S->next = P->next;C. S->next = P->next; P->next = S;D. P->next = S; P = P->next;3.设三个元素的进栈顺序为abc,则下列哪个序列是不可能出现的出栈序列( D)A. abcB. acbC. cbaD. cab4 .假设用块链存储结构表示串,如果每一个块的大小为4个字符(每个字符占用一个字节),一个指针占4个字节,则一个长为15的串需要多少字节的存储空间(C)A. 15B. 20C. 32D. 405.用一维数组存储一个6×6的对称阵A,以行序为主序存储该矩阵的下三角(包括对角线)元素,数组的起始位置为100,每个数组元素占4个字节,那么A[3][6]的存储位置为( A )A. 168B. 140C. 132D. 1086.设一个度为3的树中,度为1,2,3的结点个数分别为2,3,4,则该树中有多少个叶子结点?( D )A. 9B. 10C. 11D. 127.一个AOV网如图1所示,则下列哪一个序列不是该图的拓扑有序序列?( B)图1A. 124359786B. 123459786C. 142357896D. 4132578698.对一个长度为10的有序表进行折半查找,在等概率情况下查找成功的平均查找长度为( A)A. 2.9B. 3.0C. 3.2D. 3.49.下列排序算法中,那个算法是稳定的?( D)A. 希尔排序B. 快速排序C. 堆排序D. 归并排序10.设数据结构A = (D,R)。

北理工《数据结构与算法》在线作业满分答案

北理工《数据结构与算法》在线作业满分答案

北理工《数据结构与算法》在线作业满分答案
北理工《数据结构与算法》在线作业
试卷总分:100 得分:100
一、单选题
1. 在数据结构中,与所使用的计算机无关的是数据的()结构
A. 逻辑
B. 存储
C. 逻辑和存储
D. 物理
正确答案:A
2.一个n*n对称矩阵,如果以行或列为主序存入内存,则其容量为()。

A. n*n
B. n*n/2
C. n*(n+1)/2
D. (n+1)*(n+1)/2
正确答案:C
3.一个数组第一个元素的存储地址是100,每个数组元素的长度为2,则第5个元素的地址是()。

A. 110
B. 108
C. 100
D. 120
正确答案:B
4.如果结点a有三个兄弟,而且b为a的双亲,则b的度为()。

A. 3
B. 4
C. 5
D. 2
正确答案:B
5. 下面四种内排序方法中,要求容量最大的是()。

A. 插入排序
B. 选择排序
C. 快速排序
D. 归并排序
正确答案:D
6. 采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。

A. n
B. n/2
C. (n-1)/2
D. (n+1)/2
正确答案:D
7. 图的存储结构不包括()
A. 数组表示
B. 邻接表
C. 邻接多重表。

2013 12级 数据结构与算法试卷A卷-参考答案

2013 12级 数据结构与算法试卷A卷-参考答案

2013—2014学年第一学期闽江学院考试试卷《数据结构与算法》A 卷参考答案及评分标准一、选择题答案(每题2分) 30%二、填空题(每空 2分) 20% 1、p->nexts 2、53、1+n2+2n3+…+(k-1)nk4、n-1 n+15、CDBGFEA6、2n-17、A[7]、A[3]、A[5]、A[4] 8、2e三、判断题(每题1分) 10%四、应用题(5小题) 32 %1、(6分)画哈夫曼树(每个叶子结点位置正确得0.5分,总5分) 计算WPL 正确得1分WPL=(2+4)*5+(5+7+8)*4+(9+10+15+18)*3+22*2=30+80+156+44=3102、(8分)(1)二叉排序树 (每个结点在正确的位置正确得0.5分,总6分)(2)查找成功时的平均查找长度: (总2分) ASL=(1*1+2*2+4*3+5*4)/12 =37/12= 3.083、(5分)(每行正确得0.5分,总5分) 原始数据:(27),10,21,37,9,55,16,61,103,2 第一趟后:(10,27),21,37,9,55,16,61,103,2 第二趟后:(10,21,27),37,9,55,16,61,103,2 第三趟后:(10,21,27,37),9,55,16,61,103,2 第四趟后:(9,10,21,27,37),55,16,61,103,2第五趟后:(9,10,21,27,37,55),16,61,103,2 第六趟后:(9,10,16,21,27,37,55),61,103,2 第七趟后:(9,10,16,21,27,37,55,61),103,2 第八趟后:(9,10,16,21,27,37,55,61,103),2 第九趟后:(2,9,10,16,21,27,37,55,61,103) 4、(5分)哈希表,每个表结点在正确的位置得0.5分,计4分;查找成功时的平均查找长ASL 成功=(1*6+2*1+3*1)/8=11/8=1.3625 (1分) 5、(8分)得分标准:每个结点的邻接点均正确得0.5分(即每行0.5分)克鲁斯卡尔算法画出最小生成树的过程(4分):(1) (2)(3)(4)(5)(6)(7)(8)得分标准:依次得出上面八张图,每张0.5分,计4分,其中第(4)、(5)张,第(6)、(7)张两权值相同的边顺序可调换。

北京理工大学《数据结构》(双语)B卷

北京理工大学《数据结构》(双语)B卷

ONE. Single-Choice1.In the following data structure, ( ) is linear structure.A.Forest B.StackC.Graph D.Binary Tree2.The Linked List is designed for conveniently ( ) data item.A.getting B.insertingC.finding D.locating3.In the four choices, ( ) is not the principles that algorithm designing must obey.A.Correctness(正确性) B.Readability(可读性)C.Robustness(健壮性) D.Cyclicity(周期性)4.Assume a sequence list as 6,5,4,3,2,1 is pushed in a stack, an impossible output sequence list is ( ).A.3,4,6,5,2,1 B.4,5,3,1,2,6C.5,4,3,6,1,2 D.2,3,4,1,5,65.A stack is a structure that follows the principle of ( ).A.First-In/First-Out B.Lirst-In/Last-OutC.Last-In/First-Out D.Random In and Out6.Removing the data item at index i in an array with n items, ( ) items need to be shifted(移动) left one position.A.n-i B.n-i+1C.i D.n-i-17.There is an algorithm with inserting an item to a ordered SeqList(顺序链表) and still keeping the SeqList ordered. The computational efficiency of this inserting algorithm is ( ).A.O(log2n) B.O(1)C.O(n) D.O(n2)8.The addresses which store Linked List ( ).A.must be sequential B.must be partly sequentialC.must be no sequential D.can be sequential or discontinuous 9.According to the definition of Binary Tree, there will be ( ) different Binary Trees with 3 nodes.A.6 B.5C.4 D.310.The depth of a Binary Tree is 5, it will have ( ) nodes at most.A.31 B.32C.16 D.1011.In the following sorting algorithm, ( ) is an unstable algorithm.A.the insertion sort(插入排序) B.the bubble sort(气泡法排序)C.quicksort(快速排序) D.mergesort(归并排序)12.Assume that there is an ordered list consisting of 100 data items, using binary search(二分法查找) to find a special item, the maximum comparisons is ( ).A.25 B.1C.10 D.713.The result from scanning a Binary Search Tree (二叉排序树) in inorder traversal is in ( ) order.A.descending or ascending B.descendingC.ascending D.out of order14.To connect n vertices in an undirected graph, it needs ( ) edges at least.A.n B.n-1C.n+1 D.115.In a directed graph with n vertexes, the maximum edges is ( ).A.n(n+1)/2 B.n(n-1)/2C.n(n-1) D.n216.The output from scanning a minimum heap(小顶堆) with level traversal algorithm ( ).A.must be an ascending sequence.B.must be descending sequence.C.must have a minimum item at the head position.D.must have a minimum item at the rear position.17.When a recursive algorithm (递归算法) is transformed into a no recursive algorithm, a structure ( ) is generally used.A.SeqList B.StackC.Queue D.Binary Tree18.A algorithm is referred to ( ).A.a calculating methodB.a sorting methodC.a sequential set of instructions to solve a problemD.a searching method19.A circular queue(循环队列) is full if ( ).A.(rear+1)% Maxsize == front B.front == rearC.rear+1 == front D.(rear-1)% Maxsize == front20.The difference between static sorting table(静态查找表) and dynamic sorting table(动态查找表) is ( ).A.the difference in logical structureB.the difference in storage structureC.the difference of data typeD.insertion and deletion only can be done in dynamic sorting tableTWO.Blank filling questions1.A connected graph has 【1】component(s).2.In a complete binary tree,the sequence number of node i’s parent ( if exist ) is 【2】the sequence number of node i’s left child ( if exist ) is 【3】the sequence number of node i’s right child ( if exist ) is 【4】3.【5】is the fastest known sorting algorithm in practice.4.A full binary tree of a given height h(h>=1) has 【6】nodes.5.An undirected graph G has N vertices. The number of edges of a MST (最小生成树)of this graph is 【7】.6.Commonly used graph search methods are 【8】and 【9】. 7.Complete the one pass of quicksorting operations. (一趟快速排序算法)int Partition (RedType& R[], int low, int high){ R[0] = R[low] ;pivotkey = R[low].key; // 枢轴while ( low<high ){ while ( low<high && 【10】) 【11】;R[low]=R[high];while ( low<high && R[low].key<=pivotkey ) 【12】;R[high]=R[low] ;}R[low] = R[0] ;return low ; // 返回枢轴所在位置}THREE. Answer True or False for each of the following assertions.( ) 1.The Minimum Spanning Tree of the graph is always unique.( ) 2.In tree structure, there is exactly one path from the root to each node.( ) 3.For every node in an AVL tree(平衡二叉树), the height of the left and right sub-trees can differ by at most 1.( ) 4.Min Heap can locate the current minimum in O(1) time.( ) 5.For any non-empty tree, if n is the number of nodes and e is the numbers of edges then n=e+1.( ) 6.If a binary search tree has l i leaves at hight i(i>=1), then l i /2i<=1( ) 7.The topological sorted order(拓扑排序) of nodes in a graph ( if it exists ) is always unique.( ) 8.A stack is a linear list in which all additions are restrict to one end, called the top. A stack is also called a FIFO list.( ) 9.The array { 23, 17, 14, 6, 13, 10, 1, 5, 7, 12 } is a heap.( ) 10.We can use Time Complexity and Space Complexity to evaluate the efficiency of an algorithm.FOUR.Assume that we are using the hashing function hash( key ) = key mod 11 and the following sequence of keys create a hash table: 12, 44, 13, 88, 23, 94, 11, 39, 20, 16, 5. Show the resulting hash table: Use linear probing(线性探测再散列) with an increment of 1.FIVE. Show the result of inserting {53,68,55,17,82,10,45} into an initially empty binary search tree. Then show the result of deleting root.SIX. The frequency of the symbols { a, b, c, d, e } is { 4, 7, 5, 2, 9 }. Construct the Huffman tree and give the Huffman code of the symbols { a, b, c, d, e }.SEVEN.Suppose the preorder traversal sequences of a binary tree is ABEGFCDH,the inorder traversal sequences is EGBFADHC. Please construct the binary tree,show the final result and write out the postorder traversal sequence of the binary tree.EIGHT. You are given an undirected graph(fig.1).a. Give adjacency list(邻接表) representation of this graph.b. Construct a minimum spanning tree(最小生成树), using the Prim’s algorithm(普里姆算法). Draw the progress of creation.fig.1NINE. Get the program running results.1.Operation of stack//Suppose Stack and corresponding functions already be corrected defined void main( ){Stack S ;char x, y ;InitStack( S ) ;x=’c’ ; y=’t’ ;Push(S, x) ; Push(S,’u’) ; Push(S, y) ;Pop(S, x) ; Push(S,’r’) ; Push(S, x) ;Push(S, y) ; Pop(S, y) ; Push(S,’s’) ;while( !StackEmpty( S ) ) { Pop( S, y ) ; printf(y) ; }printf( x ) ;}2.Operation of a binary tree.#include <stdio.h>#define LeftChild( i ) ( 2 * ( i ) + 1 )void fun1( int A[ ], int i, int n ){ int Child ;int Tmp ;for( Tmp = A[ i ]; LeftChild( i ) < n; i = Child ){ Child = LeftChild( i ) ;if( Child != n-1 && A[Child+1] > A[Child] ) Child++ ;if( Tmp < A[Child] ) A[i] = A[Child] ;else break ;}A[ i ] = Tmp ;}void fun( int A[ ], int n ){ int i, temp ;for( i = n / 2; i >= 0; i-- )fun1( A, i, n ) ;for( i = n - 1; i > 0; i-- ){ temp = A[0], A[0] = A[i], A[i] = temp ;fun1( A, 0, i ) ;}}#define N 15void main( ){ int a[N]={ 5, 9, 3, 2, 99, 8, 7, 1, 77, 54, 23, 12, 88, -6, -10 } ;int i ;fun( a, N ) ;for( i=0; i<N; i++ )printf( "%d ", a[i] ) ;}TEN.Programming (All methods have been declared in textbook can be used directly, or you can rewrite them if they are not same in your answer)假设以两个元素依值递增有序排列的线性表A和B分别表示两个集合(同一表中的元素值各不相同)。

数据结构试题集(包含答案 完整版)

数据结构试题集(包含答案 完整版)

第一章概论一、选择题1、研究数据结构就是研究( D )。

A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。

A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。

A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。

A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。

for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(m*n)D.O(m+n)6、算法是( D )。

A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。

A. O(n)B. O(nlog2n)C. O(n2)D. O(log2n)8、下面程序段的时间复杂度为( C )。

i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n)D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。

A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是(A )。

i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(log2n)D. O(n3)11、抽象数据类型的三个组成部分分别为( A)。

A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。

北京理工大学数据结构模拟题答案

北京理工大学数据结构模拟题答案

本资料由理硕教育整理,理硕教育是全国唯一专注于北理工考研辅导的学校,相对于其它机构理硕教育有得天独厚的优势。

丰富的理工内部资料资源与人力资源确保每个学员都受益匪浅,确保理硕教育的学员初试通过率89%以上,复试通过率接近100%,理硕教育现开设初试专业课VIP一对一,初试专业课网络小班,假期集训营,复试VIP一对一辅导,复试网络小班,考前专业课网络小班,满足学员不同的需求。

因为专一所以专业,理硕教育助您圆北理之梦。

详情请查阅理硕教育官网数据结构试卷(一)参考答案一、选择题(每题2分,共20分)1.A2.D3.D4.C5.C6.D7.D8.C9.D 10.A二、填空题(每空1分,共26分)1.正确性易读性强壮性高效率2.O(n)3.9 3 34.-1 3 4 X * + 2 Y * 3 / -5.2n n-1 n+16.e 2e7.有向无回路8.n(n-1)/2 n(n-1)9.(12,40)()(74)(23,55,63)10.增加111.O(log2n) O(nlog2n)12.归并三、计算题(每题6分,共24分)1.线性表为:(78,50,40,60,34,90)2.邻接矩阵:邻接表如图11所示:图113. 用克鲁斯卡尔算法得到的最小生成树为: (1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)204. 见图12四、读算法(每题7分,共14分) 1. (1)查询链表的尾结点(2)将第一个结点链接到链表的尾部,作为新的尾结点(3)返回的线性表为(a 2,a 3,…,an ,a 1) 2. 递归地后序遍历链式存储的二叉树。

五、法填空(每空2分,共8 分) true BST->left BST->right 六、编写算法(8分)int CountX(LNode* HL,ElemType x) { int i=0; LNode* p=HL;//i 为计数器 while(p!=NULL) { if (P->data==x) i++; p=p->next;}//while, 出循环时i 中的值即为x 结点个数 return i; }//CountX数据结构试卷(二)参考答案一、选择题1.D2.B3.C4.A5.A6.C7.B8.C二、填空题1.构造一个好的HASH函数,确定解决冲突的方法2.stack.top++,stack.s[stack.top]=x3.有序4.O(n2),O(nlog2n)5.N0-1,2N0+N16.d/27.(31,38,54,56,75,80,55,63)8.(1,3,4,5,2),(1,3,2,4,5)三、应用题1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;3.2,ASL=91*1+2*2+3*4+4*2)=25/94.树的链式存储结构略,二叉树略5.E={(1,3),(1,2),(3,5),(5,6),(6,4)}6.略四、算法设计题1.设有一组初始记录关键字序列(K1,K2,…,K n),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K i,右半部分的每个关键字均大于等于K i。

2013北理工《889数据结构》考研真题

2013北理工《889数据结构》考研真题

2013北理工《889数据结构》考研真题一、选择题。

(每小题2分,共40分)1.数据结构在计算机中的表示称为______。

A.物理结构B.逻辑结构C.虚拟结构D.抽象结构2.数据结构对外的接口主要是通过______体现的。

A.数据对象B.数据关系C.基本操作D.数据元素3.设N是描述问题规模的非负整数,下面程序片段的时间复杂度是______。

x=N;while(x>0)x=x/2;A.O(log2N) B.O(N) C.O(Nlog2N) D.O(N2)4.线性链表中一个结点所占用的空间______。

A.必须连续B.部分地址必须连续C.不一定连续D.连续与否无所谓5.将长度为m的单链表接在长度为n的单链表的后面,算法的时间复杂度为______。

A.O(n) B.O(1) C.O(m) D.O(m+n)6.设顺序表长度为n,从表中删除元素的概率相等。

则在平均情况下,从表中删除一个元素需要移动的元素个数是______。

A.(n-1)/2 B.n/2 C.n(n-1)/2 D.n(n+1)/27.在单链表中,增加一个头结点的目的是______。

A.方便运算的实现B.用于标识单链表C.使单链表至少有一个结点D.用于标识起始点的位置8.写出链栈的类型定义如下:9.一个栈的输入序列为a b c d e f,则下列序列中不可能的输出序列是______。

A.b c d a f e B.f e d c b aC.f e d c a b D.e d c b f a10.若一个栈以向量V[0..n-1]存储,设栈空时,栈顶指针top为n,则下面x 进栈的正确操作是______。

A.top=top+1;V[top]=x;B.V[top]=x;top=top+1;C.top=top-1;V[top]=x;D.V[top]=x;top=top-1;11.一个队列的入队序列是a b c d e f,则队列的输出序列是______。

最新北京理工大学级数据结构b试题(a卷)-答案

最新北京理工大学级数据结构b试题(a卷)-答案

一、选择题1、从逻辑结构上可以把数据结构分为【 C 】。

A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构2、在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移【 B 】个元素。

A、n-iB、n-i+1C、n-i-1D、i3、链表结构不具有下列【 B 】特点。

A、插入和删除无需移动元素B、可随机访问链表中的任意元素C、无需实现分配存储空间D、所需空间与结点个数成正比。

4、在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行【C】。

A、s->next = p->next; p->next = s;B、p->next = s->next; s->next = p;C、q->next = s; s->next = p;D、p->next = s; s->next = q;5、一个栈的入栈序列是1,2,3,4,5,则栈不可能输出的序列是【 C 】。

A、54321B、45321C、43512D、123456、判断一个队列Q(元素最多为M个)为空的条件是【 C 】。

A、Q->rear – Q->front = MB、Q->rear – Q->front -1 ==MC、Q->rear == Q->frontD、Q->rear + 1 == Q->front7、在一个链队列中,假设f和r分别指向队首和队尾,则插入s所指结点的运算是【 A 】。

A、r->next = s; r=s;B、f->next = s; f=s;C、s->next = r; r=s;D、s->next = f; f=s;8、深度为5的二叉树至多有【 A 】个结点。

A、31B、32C、16D、109、在一非空二叉树的中序遍历序列中,根结点的右边【 A 】。

ds12132试题A卷参考答案及评分标准

ds12132试题A卷参考答案及评分标准

2012—2013学年第 2 学期《数据结构》(A卷)参考答案及评分标准一、单项选择题(每道选择题只有一个正确答案;共15小题,每小题2分,共计30分)1-5 DCCCD 6-10 BCCCB 11-15 ABBBC二、程序填空题(共2小题,10空,每空1分,共10分;答错根据情况酌情给分)1. L.r[i] i-1 L.r[j].key L.r[j+1] L.r[j] L.r[j+1]2.r->next=p r->next=q r=r->next r->next=p三、二叉树操作(按照要求答题;共5小题,每小题4分,共20分;答错根据情况酌情给分)1. [] A B D [] C F [] [] [] E [] G2. ABCEDFG3. 4. 5.四、图操作(按照要求答题;共5小题,每小题5分,共25分;答错根据情况酌情给分)1. 2.22013647318412∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞12345673.深度优先顺序:v0 v1 v4 v2 v3 v6 v7 v5广度优先顺序:v0 v1 v3 v4 v6 v2 v7 v54.加入节点顺序:v0 v1 v4 v7 v5 v6 v2 v35.加入节点顺序:v0 v1 v4 v7 v5 v6 v2 v3五、计算和编程题(共2小题,第1小题5分,第2小题10分,共15分;答错根据情况酌情给分)行优先:60+8*[(8-5)*20*40+(5-10)*40+(30-20)]=17740 //(3分,根据情况酌情给分)列优先:60+8*[(30-20)*20*10+(5-10)*10+(8-5)]=15684 //(2分,根据情况酌情给分)2.部分标示符名称可任意。

typedef struct node{int data;struct node *lchild, * rchild;} *BiTree; //----3分,根据情况酌情给分void VistLeaves(BiTree tree){if(tree==NULL) return;if(tree->lchild==NULL && tree->rchild==NULL) Visit(tree->data);VistLeaves(tree->lchild);VistLeaves(tree->rchild);} //---7分,根据情况酌情给分。

北理工计算机体系结构习题解答

北理工计算机体系结构习题解答

6
6
32
第2章 指令系统
平均码长为 ∑Pi*Li = (0.01+0.01)×6 + (0.02+0.02+0.03+0.03+0.04)×5 + 0.04×4 + (0.11 + 0.12 + 0.13 + 0.14 + 0.15+0.15)×3 =3.38
33
第2章 指令系统
3、只有两种码长的扩展操作码编 码 使用频度高的用短代码表示。根据 Huffman 编 码 和 指 令 使 用 频 度 , 可以设计出具有3位和6位码长的 操作码。操作码编码如下:
43
指令 概率 Huffman
I1 0.25 00
I2 0.20 10
I3 0.15 010
I4 0.10 110
I5 0.08 0110
I6 0.08 1110
I7 0.05 01110
I8 0.04 01111
(1F)(F/20)
F 100.53 19
19
1-10 用一台40MHz处理机执行标准测
试程序,它含的混合指令数和相应所 需的时钟周期数如下:
指令类型 指令数 时钟周期数
整数运算 45000
1
数据传送 32000
2
浮点
15000
2
控制传送
8000
2
求 有 效 CPI、MIPS 速 率 和 程 序 的 执 行 时间。
t(45* 0 13 02 0* 0 2 0 10 5* 0 2 0 80*2 0 )*(0 4* 1 0 160 ) 3.87 *15 3 0 秒
21
1-11 假设在一台40MHz处理机上运行200,000条指令的目标代码,程序主要
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题1、从逻辑结构上可以把数据结构分为【 C 】。

A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构2、在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移【 B 】个元素。

A、n-iB、n-i+1C、n-i-1D、i3、链表结构不具有下列【 B 】特点。

A、插入和删除无需移动元素B、可随机访问链表中的任意元素C、无需实现分配存储空间D、所需空间与结点个数成正比。

4、在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行【 C 】。

A、s->next = p->next; p->next = s;B、p->next = s->next; s->next = p;C、q->next = s; s->next = p;D、p->next = s; s->next = q;5、一个栈的入栈序列是1,2,3,4,5,则栈不可能输出的序列是【C 】。

A、54321B、45321C、43512D、123456、判断一个队列Q(元素最多为M个)为空的条件是【 C 】。

A、Q->rear – Q->front = MB、Q->rear – Q->front -1 ==MC、Q->rear == Q->frontD、Q->rear + 1 == Q->front7、在一个链队列中,假设f和r分别指向队首和队尾,则插入s所指结点的运算是【A 】。

A、r->next = s; r=s;B、f->next = s; f=s;C、s->next = r; r=s;D、s->next = f; f=s;8、深度为5的二叉树至多有【 A 】个结点。

A、31B、32C、16D、109、在一非空二叉树的中序遍历序列中,根结点的右边【A 】。

A、只有右子树上的所有结点B、只有右子树上的部分结点C、只有左子树上的所有结点B、只有左子树上的部分结点10、如果一棵完全二叉树有1001个结点,则其叶子结点个数为【D 】。

A、250B、500C、502D、49011、在一个图中,所有顶点的度数之和是所有边数的【 C 】倍。

A、1/2B、1C、2D、412、采用邻接表存储的图的深度优先遍历算法类似于二叉树的【A 】。

A、先序遍历B、中序遍历C、后序遍历D、按层遍历13、一个有n个顶点的无向图最多有【 D 】条边。

A、nB、n(n-1)C、2nD、n(n-1)/214、静态查找表与动态查找表的根本区别在于【B 】。

A、它们的逻辑结构不同B、施加在其上的操作不同C、所包含的数据元素类型不同D、存储实现不一样15、顺序查找适用于存储结构为【 C 】的线性表。

A、哈希存储B、压缩存储C、顺序存储或链式存储D、索引存储16、若一颗二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足【B 】。

A、所有结点均无孩子B、所有结点均无右孩子C、只有一个叶子结点D、是一颗满二叉树17、二叉排序树是【B 】。

A、每一分支结点的度均为2的二叉树B、中序遍历得到一升序序列的二叉树C、按从左到右顺序编号的二叉树D、每一分支结点的值均小于左子树上所有结点的值,又大于右子树上所有结点的值18、具有12个记录的序列,采用冒泡排序最少的比较次数是【 C 】。

A、1B、144C、11D、6619、堆的形状是一棵【C 】。

A、二叉排序树B、满二叉树C、完全二叉树D、平衡二叉树20、在一个包含n个顶点e条边的无向图的邻接矩阵中,零元素的个数为【D 】。

A、eB、2eC、n2-eD、n2-2e二、判断对错【x 】1、具有n个顶点的连通图至少有n条边。

【x 】2、链表的单个结点内部的存储空间可以是不连续的。

【√】3、栈和队列的共同点是只允许在端点处插入和删除元素。

【√】4、使用循环队列可以解决队列顺序存储时的假溢出问题。

【x 】5、要想通过遍历序列还原为惟一二叉树,应当知道其先序序列和后序序列。

【√】6、若一个结点是某二叉树子树的中序遍历序列的第一个结点,则它也必是该子树的后序遍历序列的第一个结点。

【x 】7、完全二叉树可采用顺序存储结构存储,非完全二叉树则不能。

【√】8、对于一棵含有n个结点的完全二叉树,将其结点按从上到下且从左至右按1至n进行编号,则对其任意一个编号为i的结点,如果它有左孩子,则其左孩子结点的编号为2i。

【√】9、哈夫曼树的所有子树也都是哈夫曼树。

【x 】10、当图的边较少而结点较多时,求其最小生成树用Prim算法比用Kruskal 算法效率更高。

三、填空题1、向量的第一个元素的存储地址是200,每个元素的长度是3,那么第6个元素的存储地址是。

答案:2152、在一个带头结点的单链表中,p所指结点既不是首元结点,也不是尾元结点,删除p 结点的语句序列是、、。

答案: q=p,p=p->next,free(q)3、设堆栈有足够的存储空间,那么向堆栈中插入一个数据元素,即入栈的操作过程是、。

答案: 存入数据元素,栈顶指针加14、一般情况下,向循环队列中插入数据元素时,需要判满队列是否已经满了,判断条件是:。

答案: (rear+1)%MaxSize == front6、已知循环队列用数组data[1…n]存储元素值,front和rear分别表示队头和队尾指针,则当前队列中元素的个数为。

答案: (n+rear-frone)%n或(n+rear-frone) mod n7、深度为k的二叉树最多有个结点,深度为k的完全二叉树最少有个结点(k≥1)。

答案: 2k-1,2k-18、如以{2,3,6,7,9}作为叶子结点的权值构造哈夫曼树,则其最短带权路径长度为。

答案: 5510、已知某二叉树的中序序列和前序序列分别为42758136、12457836,则它的后序序列为。

答案: 4785263112、在有n个顶点的有向图中,每个顶点的度最大可达到。

答案: 2(n-1)13、在有序表A[1…18]中,采用折半查找算法查找元素值等于A[7]的元素,所比较过的元素的下标依次为。

答案: 9 4 6 714、一组记录的输入顺序为(25,38,65,90,72,14),则利用堆排序方法建立的初始“小顶堆”为。

答案: 14,38,25,90,72,65四、简答题1、设有一段正文是由字符集{a, b, c, d, e, f, g, h}组成,正文长度为100个字符,其中每个字符在正文中出现的次数分别为17, 12, 14, 4, 10, 9, 20, 3。

若采用哈夫曼树对这段文字进行压缩存储,请完成如下工作:(1)构造哈夫曼树(规定权值较小的结点为左子树);(2)求出每个字符的哈夫曼编码;(3)若其中一段正文的二进制编码序列为“10111100011000101”,请按(2)的哈夫曼编码将其译码成原始正文。

答案:(1)树的结构为:(2)编码为a=111,b=101,c=110,d=0001,e=100,f=001,g=01,h=0000 (3)上述编码序列的对应原文为:badegg2、一棵有11个结点的二叉树的存储情况如下图所示(其中“∧”表示空指针),left[i]和right[i]分别表示结点i的左、右孩子,根结点是序号为3的结点,要求:(1)画出该二叉树;(2)分别写出该二叉树的前序和中序遍历序列。

第2题图答案:(1)二叉树的结构如图所示:(2)前序序列ALKRSECFMBD中序序列RKSLEAFCBDM3、设数据集合D={2, 24, 12, 15, 32, 9, 10, 35, 7, 5},要求:(1)依次读取D中的各个数据,构造一棵二叉排序树Bt;(2)如何根据此二叉树Bt求得数据集合D的一个有序序列?并写出该有序序列;(3)画出在上述二叉树中删除结点“12”后得到的二叉树结构。

答案:(1)构造的二叉排序树如下:(2)上述二叉树Bt的中序遍历序列即是数据集合D的一个有序序列:2,5,7,9,10,12,15,24,32,35(3)删除结点12后的二叉树结构为下面任意一种结构:或者4、用深度优先和广度优先遍历算法对下图G进行遍历(要求从顶点A出发),请给出深度优先和广度优先遍历序列。

第4 题图答案:深度优先序列:ABFDEGHC广度优先序列:ABCFDEHG5、对于如下所示的加权无向图,写出用Prim算法构造最小生成树的过程,并画出最后得到的最小生成树。

第5题图答案:最小生成树的构造过程如下图所示:五、按照指定功能,完成下列算法1、逆置带头结点的单链表Lvoid inverse(LinkList &L) {p=L->next; L->next=NULL;while ( p) {succ=p->next;p->next=L->next;L->next=p;p = succ;}}2、算术表达式求值的算符优先算法。

设OPTR和OPND分别为运算符栈和运算数栈,OP为运算符、界限符集合。

operandType EvaluateExpression( ){InitStack(OPTR); Push (OPTR, #);InitStack(OPND); c=getchar( );while ( c!=‘#’|| GetTop(OPTR)!=‘#’ ){if (! In (c, OP)){Push(OPND, c);c=getchar( );}elseswitch ( Precede(GetTop(OPTR), c ){case <:Push(OPTR, c); c=getchar( ); break;case =:Pop(OPTR, x); c=getchar( ); break;case >:Pop ( OPTR, theta);Pop ( OPND, b); Pop(OPND, a);Push ( OPND, Operate(a, theta, b) );break;} //switch} //whilereturn GetTop(OPND);} //EvaluateExpression3、中序遍历递归算法void InOrderTraverse ( BiTree T , Status ( * Visit ) ( ElemType e ) ) { // 采用二叉链表存贮二叉树,visit( )是访问结点的函数// 本算法中序遍历以T为根结点指针的二叉树if ( T ){InOrderTraverse ( T->lchild, Visit );Visit ( T->data );InOrderTraverse ( T->rchild, Visit );}} //InOrderTraverse4、在有序表ST中折半查找法查找其关键字等于key的数据元素。

相关文档
最新文档