2009年全国《数据结构2331》模拟试卷(五)及标准答案
2009年《数据结构》试卷A答案

西华大学课程考试参考答案(A卷)课程代码: 8401801 试卷总分: 100 分一、单项选择题参考答案及评分标准:(本大题共20个小题,每小题2分,共40分)评分标准:选对一题得2分,不选或选错得0分。
1-5:CBACC 6-10:CCBDB 11-15:ABCCD 16-20:CADDC二、算法理解题参考答案及评分标准:(本大题共3个小题,第1、2小题各7分,第3小题6分,共20分)评分标准:请根据各解答步骤酌情给分。
1. 解:构造过程各图(略),最后结果为:2. 解:设权w=(5,29,7,8,14,23,3,11),可构造一棵赫夫曼树如下图所示。
所得赫夫曼编码为:A: 0110B: 10C: 1110D: 1111E: 110F: 00G: 0111H: 0103. 解:(1)希尔排序第一趟(增量d=5)排序后 7、12、36、23、12、51、60、55、72、49第二趟(增量d=3)排序后 7、12、36、23、12、51、49、55、72、60第三趟(增量d=1)排序后 7、12、12、23、36、49、51、55、60、72(2)归并排序第一趟排序后 12、51、23、55、7、49、36、60、12、72第一趟排序后 12、23、51、55、7、36、49、60、12、72第三趟排序后 7、12、23、36、49、51、55、60、12、72第四趟排序后 7、12、12、23、36、49、51、55、60、72三、算法设计题参考答案及评分标准:(本大题共4个小题,每小题10分,共40分)评分标准:请根据编程情况酌情给分。
1. 参考答案示例:void DelInsert(LinkList &L){∥本算法将带头结点的非空单链表L中数据域值最小的那个结点移到链表的最前面。
p=L->next;∥p是链表的工作指针pre=L;∥pre指向链表中数据域最小值结点的前驱。
q=p;∥q指向数据域最小值结点,初始假定是首元结点while (p->next!=NULL){ if(p->next->data<q->data){ pre=p;q=p->next;} ∥找到新的最小值结点 p=p->next;}if (q!=L->next){ pre->next=q->next;∥将最小值结点从链表上摘下q->next= L->next;∥将q结点插到链表最前面L->next=q;}}//DelInsert2. 参考答案示例:void Count(BiTree T,int &n0,int &n){//统计二叉树T上叶结点数n0和非叶结点数n。
自考数据结构02331历年试题及答案(2009--2015个人整理版)

自考数据结构02331历年试题及答案(2009--2015个人整理版)全国2009年1月自学考试数据结构试题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列程序段的时间复杂度为( )9 s=0;for(i=1;i<n ;i++) for(j=1;j<n ;j++) s+=i*j ; A.O(1) B.O(n)C.O(2n)D.O(n 2)2.假设某个带头结点的单链表的头指针为head ,则判定该表为空表的条件是( )22 A.head==NULL ; B.head->next==NULL ; C.head!=NULL ; D.head->next==head ;3.栈是一种操作受限的线性结构,其操作的主要特征是( )32 A.先进先出 B.后进先出 C.进优于出 D.出优于进4.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front 和rear 。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( ) A.(rear-front-1)%n B.(rear-front)%n C.(front-rear+1)%n D.(rear-front+n)%n5.判断两个串大小的基本准则是( )52 A.两个串长度的大小 B.两个串中首字符的大小 C.两个串中大写字母的多少 D.对应的第一个不等字符的大小6.二维数组A[4][5]按行优先顺序存储,若每个元素占2个存储单元,且第一个元素A[0][0]的存储地址为1000,则数组元素A[3][2]的存储地址为( )60 A.1012 B.1017 C.1034 D.10367.高度为5的完全二叉树中含有的结点数至少为( )72 A.16 B.17 C.31 D.328.已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为( ) A.5 B.8 C.11 D.189.下列所示各图中是中序线索化二叉树的是( A)81A10.已知含6个顶点(v 0,v 1,v 2,v 3,v 4,v 5)的无向图的邻接矩阵如图所示,则从顶点v 0出发进行深度优先遍历可能得到的顶点访问序列为( )108 A.(v 0,v 1,v 2,v 5,v 4,v 3) B.(v 0,v 1,v 2,v 3,v 4,v 5) C.(v 0,v 1,v 5,v 2,v 3,v 4) D.(v 0,v 1,v 4,v 5,v 2,v 3)11.如图所示有向图的一个拓扑序列是( ) A.ABCDEF B.FCBEADC.FEDCBAD.DAEBCF12.下列关键字序列中,构成大根堆的是( ) A.5,8,1,3,9,6,2,7 B.9,8,1,7,5,6,2,33 C.9,8,6,3,5,l ,2,7 D.9,8,6,7,5,1,2,313.对长度为15的有序顺序表进行二分查找,在各记录的查找概率均相等的情况下,查找成功时所需进行的关键字比较次数的平均值为( )172A.1539B.1549 C.1551 D.1555 14.已知一个散列表如图所示,其散列函数为H(key)=key %11,采用二次探查法处理冲突,则下一个插入的关键字49的地址为( D )d 19715.数据库文件是由大量带有结构的( )206 A.记录组成的集合 B.字符组成的集合 C.数据项组成的集合 D.数据结构组成的集合二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
自考数据结构02331历年试题及答案(2009--2018年(缺少2017年))

自考数据结构02331历年试题及答案(2009--2015个人整理版)全国2009年1月自学考试数据结构试题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列程序段的时间复杂度为( )9 s=0;for(i=1;i<n ;i++) for(j=1;j<n ;j++) s+=i*j ; A.O(1) B.O(n)C.O(2n)D.O(n 2)2.假设某个带头结点的单链表的头指针为head ,则判定该表为空表的条件是( )22 A.head==NULL ; B.head->next==NULL ; C.head!=NULL ; D.head->next==head ;3.栈是一种操作受限的线性结构,其操作的主要特征是( )32 A.先进先出 B.后进先出 C.进优于出 D.出优于进4.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front 和rear 。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( ) A.(rear-front-1)%n B.(rear-front)%n C.(front-rear+1)%n D.(rear-front+n)%n5.判断两个串大小的基本准则是( )52 A.两个串长度的大小 B.两个串中首字符的大小 C.两个串中大写字母的多少 D.对应的第一个不等字符的大小6.二维数组A[4][5]按行优先顺序存储,若每个元素占2个存储单元,且第一个元素A[0][0]的存储地址为1000,则数组元素A[3][2]的存储地址为( )60 A.1012 B.1017 C.1034 D.10367.高度为5的完全二叉树中含有的结点数至少为( )72 A.16 B.17 C.31 D.328.已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为( ) A.5 B.8 C.11 D.189.下列所示各图中是中序线索化二叉树的是( A)81A10.已知含6个顶点(v 0,v 1,v 2,v 3,v 4,v 5)的无向图的邻接矩阵如图所示,则从顶点v 0出发进行深度优先遍历可能得到的顶点访问序列为( )108 A.(v 0,v 1,v 2,v 5,v 4,v 3) B.(v 0,v 1,v 2,v 3,v 4,v 5) C.(v 0,v 1,v 5,v 2,v 3,v 4) D.(v 0,v 1,v 4,v 5,v 2,v 3)11.如图所示有向图的一个拓扑序列是( )a00a01 a02 a03 a04 a32A.ABCDEFB.FCBEADC.FEDCBAD.DAEBCF12.下列关键字序列中,构成大根堆的是( ) A.5,8,1,3,9,6,2,7 B.9,8,1,7,5,6,2,33 C.9,8,6,3,5,l ,2,7 D.9,8,6,7,5,1,2,313.对长度为15的有序顺序表进行二分查找,在各记录的查找概率均相等的情况下,查找成功时所需进行的关键字比较次数的平均值为( )172A.1539B.1549 C.1551 D.1555 14.已知一个散列表如图所示,其散列函数为H(key)=key %11,采用二次探查法处理冲突,则下一个插入的关键字49的地址为( D )d 19715.数据库文件是由大量带有结构的( )206 A.记录组成的集合 B.字符组成的集合 C.数据项组成的集合 D.数据结构组成的集合二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。
数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。
通过使用不同的数据结构,可以更高效地存储、查找和操作数据。
2. 请解释什么是栈,并给出一个栈的应用场景。
栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。
栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。
3. 什么是队列?请给出一个队列的实际应用例子。
队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。
一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。
4. 请解释什么是链表,并给出一个链表的优点和缺点。
链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。
链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。
缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。
5. 请解释什么是树,并给出一个树的实际应用例子。
树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。
一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。
6. 请解释什么是图,并给出一个图的实际应用例子。
图是一种由节点和节点之间的连接关系组成的数据结构。
一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。
7. 请解释什么是散列(哈希)表,以及它的优势和劣势。
散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。
散列表的优势是查找操作的平均时间复杂度为O(1)。
劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。
2009年全国自考数据结构模拟试卷(三)及答案

2. 求下面算法中变量count的值:(假设n为2的乘幂,并且n>2)
int Time {int n count=0;x=2; while(x<n/2) {x*=2;count++; } return(count) } 答案:count=log2n
3. 以下程序段采用先根遍历方法求二叉树的叶子数,请在___处填充适当的语句。
更多试卷,请访问9州考苑()
2009年全国自考数据结构模拟试卷(三)
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项目中 只有一个是符号题目要求的,请将其代码填写的括号内.错选、多选或未选均无分。 1. 循环链表的主要优点是() A. 不再需要头指针了 B. 已知某个结点的位置后,能够容易找到它的直接前趋 C. 在进行插入、删除运算时,能更好地保证链表不断开 D. 从表中任一结点出发都能扫描到整个链表
答案:D
2. 在一个具有N个顶点的无向完全图中,包含的边的总数是() A. N(N-1)/2 B. N(N-1) C. N(N+1) D. N(N+1)/2
答案:A
3. 下面的程序在执行时,S语句共被执行了()次。
i=1; while (i<=n) {for(j=i;j<n;j++) { S; } i=i+1; }
A. B. C. D.
答案:A
A B C D
4. 已知一个向量的第一个元素的存储地址是100,每个元素的长度为2,则第6个元素的地址是
()
A. 120
更多试卷,请访问9州考苑()
B. 112 C. 110 D. 114
答案:C
5. 设二叉树有n个结点,则其深度为() A. n-1 B. n C. 5log2n」+1 D. 不确定
《数据结构》3套模拟试题综合测试题带答案5

《数据结构》模拟试题13一、填空题(每小题2分,共18分)1、数据的逻辑结构包括,和三种结构。
2、队列是操作受限的线性结构,只能在插入元素,而在删除元素。
3、串是一种特殊的线性表,其特殊性体现在。
4、有一个10阶对称矩阵A,采用压缩存储方式采用压缩存储方式,以行为主存储下三角形到一个一维数组中,A[0][0]的地址是100(每个元素占2个基本存储单元),则A[5][9]的地址是。
5、在高度为h的二叉树的中只有度为0和度为2的结点,则该类二叉树中所包含的结点数至少为。
6、对于一个有n个顶点和e条边的无向图,若采用邻接链表存储,则表头向量的大小为,邻接表中的结点总数为。
7、对线性表进行二分查找时,要求线性表必须是,且要求。
8、对于文件,按物理结构划分,可分为顺序文件、文件、文件和多关键字文件。
9、外部排序的最基本方法是,其主要时间花费在方面。
二、单项选择题(请将答案写在题目后的括号中。
每题2分,共18分)1、如下函数是求1!+2!+…+n!,其时间复杂度是()。
Long int Sum (int n){ long int sum=0 , t=1 ; int p ;for (p=1; p<=n ;p++) { t=t*p ; sum+=t ; }return(sum) ;}(A)O(n) (B)O(n2) (C)O(㏒2n) (D)O(n㏒2n)2、设有一个栈顶指针为top的顺序栈S,则弹出S的栈定元素的操作是()。
(A)p=S[top++];(B)p=S[++top];(C)p=S[top--];(D)p=S[--top];3、广义表((a),((b),c),(((d))))的表头是,表尾是。
()(A)(a) ((b),c),(((d))) (B)(a) (((b),c),(((d))))(C)((a),((b),c)),(((d))) (D)(a) (((d)))4、一棵二叉树,其先序遍历序列是abdgehicf,中序遍历序列是gdbheiafc,则其后序遍历序列是( )。
数据结构模拟试题答案

《数据结构》模拟试题一、单项选择题(30分)1.在数据结构的讨论中把数据结构从逻辑上分为C。
A. 内部结构与外部结构B. 静态结构与动态结构C. 线性结构与非线性结构D. 紧凑结构与非紧凑结构。
2.算法分析的两个主要方面是 D。
A. 正确性和简明性B. 可读性和文档性C. 数据复杂性和程序复杂性D. 空间复杂性和时间复杂性3.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储B。
A. 数据的处理方法B. 数据元素的类型C. 数据元素之间的关系D. 数据的存储方法4.设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为c。
A.5B.6C.7D.95.线性表采用链式存储结构时,要求内存中可用存储单元的地址d。
A. 必须是连续的B. 必须是部分连续的C. 一定是不连续的D. 连续和不连续都可以6.对具有n个结点的线性表进行插入和删除操作,所需的算法时间复杂度为 d。
A. O(1)B. O(n)C. O(nlog2n)D. O(n2)7.在单链表中指针p所指结点之后插入指针为s的结点,正确的操作是b。
A. p->next=s;s->next= p->next;B. s->next= p->next; p->next=s;C. p->next=s; p->next = s->nextD. p->next=s->next; p->next=s; 8.栈中元素的进出原则是b。
A.先进先出 B.先进后出 C.栈空则进 D.栈满则出9.长度是n的顺序循环队列,front和rear分别指示队首和队尾,判断队列为满队列的条件是__d____。
A.rear=0 B.front=0C.rear==front D.(rear+1)%n==front10.下面说法不正确的是_____c_____。
A.广义表的表头总是一个广义表 B.广义表的表尾总是一个广义表C.广义表难以用顺序存储结构 D.广义表可以是一个多层次的结构11.已知二叉树的先序遍历序列为ABCD,中序遍历序列为BCDA,则后序遍历序列为____d___。
《数据结构》模拟试题综合测试题带答案 (3)

《数据结构》模拟试题03一、单项选择题(每题 2 分,共30分)1.算法指的是( )A .计算机程序B .解决问题的计算方法C .排序算法D .解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址( ) A .必须是不连续的 B .连续与否均可 C .必须是连续的D .和头结点的存储地址相连续3.将长度为n 的单链表链接在长度为m 的单链表之后的算法的时间复杂度为( ) A .O (1) B .O (n ) C .O (m ) D .O (m+n ) 4.由两个栈共享一个向量空间的好处是:( ) A .减少存取时间,降低下溢发生的机率 B .节省存储空间,降低上溢发生的机率 C .减少存取时间,降低上溢发生的机率 D .节省存储空间,降低下溢发生的机率5.设数组data[m]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作后其头指针front 值为( )A .front=front+1B .front=(front+1)%(m-1)C .front=(front-1)%mD .front=(front+1)%m 6.如下陈述中正确的是( )A .串是一种特殊的线性表B .串的长度必须大于零C .串中元素只能是字母D .空串就是空白串7.若目标串的长度为n ,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( )A .O (n3) B .O (n ) C .O (n2) D .O (n3)8.一个非空广义表的表头( )A .不可能是子表B .只能是子表C .只能是原子D .可以是子表或原子 9.假设以带行表的三元组表表示稀疏矩阵,则和下列行表对应的稀疏矩阵是( )5A.08067000000050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥B.08067000504000000300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥C.08060000020050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥D.08060000700050400300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( ) A.4 B.5 C.6 D.711.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e12.假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是( )A.O(n) B.O(e) C.O(n+e) D.O(n*e)13.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是()A.选择排序B.希尔排序C.归并排序D.快速排序14.适于对动态查找表进行高效率查找的组织结构是()A.有序表B.分块有序表C.三叉排序树D.线性链表15.不定长文件是指()A.文件的长度不固定B.记录的长度不固定C.字段的长度不固定D.关键字项的长度不固定二、填空题(每题2分,共20分)1.数据的逻辑结构是从逻辑关系上描述数据,它与数据的无关,是独立于计算机的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
适的语句。 int binsearch(sqtable R,keytype K) { low=1;hig=R.n; /*置查找区间初值。low,hig分别标记查找区间的下、上界*/ while(low<=hig) { mid=(low+hig)/2; switch { case K==R.item[i].key:return(mid);/*找到,返回位置mid*/ case K<R.item[i].key:___;break;/*缩小区间*/
答案:A
10. 设rear是指向非空带头结点的循环单链表的尾指针,则删除起始结点的操作可表示为() A. s=rear;rear=rear->next;free(s); B. rear=rear->next;free(rear); C. rear=rear->next->next;free(rear);free(s); D. s=rear->next->next;rear->next->next=s->next;
答案:D
11. 邻接表存储结构下图的广度优先遍历算法结构类似于树的() A. 先根遍历 B. 后根遍历 C. 按层遍历 D. 先序遍历
答案:C
12. 用二分查找法对具有n个结点的线性表查找一个结点所需的平均比较次数为()
A. A B. B C. C D. D
答案:D
13. 在桶排序中,其平均时间复杂度是()
答案:B
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填写上正确 答案。错填、不填均无分。
1. 在图的邻接表表示中,每个顶点邻接表中的顶点数,对于有向图来说是___,对于无向图来
说是___。 答案:出度数度数
2. 假设在图G中任意的顶点设为vi,此顶点对应的度为D(vi),此图的顶点数为n。则边数e和
8. ___与数据元素本身的内容和形式无关。
答案:数据的逻辑结构
9. 数组A[1..10,-2..6,2..8]以行优先顺序存储,设第一个元素的首地址是100,每个元素
占3个存储长度的存储空间,则元素A[5,0,7]
的存储地址为___。 答案:913
10. 文件的记录均存放在数据集中,数据集中的一个结点称为___,它是一个___操作的基本单
4. 对于下面用三元组表示的稀疏矩阵,请分别写出它们所对应的稀疏矩阵。
答案:从三元组表还原稀疏矩阵时,首先根据表的第1行得出稀疏矩阵的行数和列数,否则,我 们无法确定所求的稀疏矩阵的维数,然后根据三元 组表所提供的行号和列号在稀疏矩阵的对应位置上写上相应的元素的值,在其他地方补零即可 ,根据上述原则,此题答案如图(1),(2)所示。
A. (rear-front+m)MOD m B. rear-fomt+1 C. rear-fribt-1 D. rear-front
答案:A
2. 若用冒泡排序法对序列18,14,6,27,8,12,16,52,10,26,47,29,41,24从小到
大进行排序,共要进行()次比较。
A. 33 B. 45 C. 70 D. 91
3. 以下运算实现在链队上的出队列,请在___处用适当的语句予以填充。
int OutQueue(QueptrTp *lq,DataType *x) { LqueueTp *s; if(lq->front==lq->rear){ error(″队空″);return(0);} else { s=(lq->front)->next; ___=s->data; (lq->front)->next=___; if(s->next==NULL)lq->rear=lq->front; free(s); return(1); } } 答案:*x s->next
2009年全国自考数据结构模拟试卷(五)
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项目中 只有一个是符号题目要求的,请将其代码填写的括号内.错选、多选或未选均无分。
1. 循环队列用数组A[0…m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前
队列中的元素个数是()
答案:C
5. 对于shell排序来说,给定的一组排序数值为
49,38,65,97,13,27,49,55,04 则第二趟排序后的结果为()
A. 04,13,27,49,49,38,55,65,76,97
B. 04,13,27,38,49,49,55,65,76,97 C. 13,04,49,38,27,49,55,65,97,76 D. 13,27,49,55,04,49,38,65,97,76
6. 在一个按行优先顺序存储的二维数组(M×N)中,假设数组的基地址是P,并且数组的每一个
元素所占的存储空间为d个字节,则aij的地址计算公式为___。 答案:LOC(aij)=P+[i×N+j]×d
7. 栈和队列均可视为特殊的线性表,所不同的在于对这二种特殊线性表___和___运算的限定
不一样。
答案:插入 删除
4. 以下为单链表的建表算法,分析算法,请在___处填上正确的语句。
lklist create-lklist1() /*通过调用initiate-lklist和insetr-lklist算法实现的建表算法。假定$是结束标志*/ { ininiate-lklist(head); i=1; scanf(″%f″,&x); while(x!=$) {___; ___; scanf(″%f″,&x);
度数之间的关系为___。 答案:
3. 一个n×n的对称矩阵,如果以行为主序或以列为主序存入内存,则其容量为___。
答案:n×(n+1)/2
4. 对快速排序来讲,其最好情况下的时间复杂度是___,其最坏情况下的时间复杂度是___。
答案:
5. 在结点数目相同的二叉树中,___的路径长度最短。
答案:完全二叉树
答案:C
3. 用数组A[0..N-1]存放循环队列的元素值,若其头尾指针分别为front和rear,则循环队
列中当前元素的个数为()
A. (rear-front+m) mod m B. (rear-front+1) mod m C. (rear-front-1+m) mod m D. (rear-front)mod m
答案:C
6. 长度为12的按关键字有序的查找表采用顺序组织方式。若采用二分查找方法,则在等概率
情况下,查找失败时的ASL值是()
A. 37/12 B. 62/13 C. 39/12 D. 49/13
答案:B
7. 对文件进行直接存取的是根据() A. 逻辑记录号去存取某个记录 B. 逻辑记录的关键字去存取某个记录 C. 逻辑记录的结构去存取某个记录 D. 逻辑记录的具体内容去存取某个记录
A. A B. B C. C D. D
答案:B
14. 在一棵完全二叉树的顺序存储方式中,若编号为t的结点有右孩子,则此结点右孩子的编
号为()
A. 2t
B. 2t-1 C. 2t+1 D. t/2
答案:C
15. 一个队列的输入序列是1,2,3,4,则队列的输出序列是() A. 4,3,2,1 B. 1,2,3,4 C. 1,4,3,2 D. 3,2,4,1
答案:A
4. 线性结构中的一个结点代表一个数据元素,通常要求同一线性结构的所有结点所代表的数
据元素具有相同的特性,这意味着()
A. 每个结点所代表的数据元素都一样 B. 每个结点所代表的数据元素包含的数据项的个数要相等 C. 不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致 D. 结点所代表的数据元素有同一特点
答案:A
8. 内部排序的方法有许多种,()方法是从未排序序列中依次取出元素,与已排序序列中的元
素作比较,将其放入已排序序列的正确位置上。
A. 归并排序 B. 插Hale Waihona Puke 排序 C. 快速排序 D. 选择排序
答案:B
9. 在下图中,从顶点V1出发,按广度优选遍历图的顶点序列是()
A. V1V5V3V4V2V6V7 B. V1V5V3V4V2V7V6 C. V1V7V2V6V4V5V3 D. V1V2V4V7V6V5V3
2. 请根据下面所给出的邻接矩阵画出相应的有向图或者是无向图(顶点vi表示)。
答案:A,B,C对应的图分别为:
3. 请画出二叉树的五种基本形态。
答案:二叉树有五种不同的基本形态: A:空二叉树 B:只有一个根结点的二叉树 C:右子树为空的二叉树 D:左子树为空的二叉树 E:左、右子树都非空的二叉树
} return(head); } 该建表算法的时间复杂性约等于___,其量级为___。 答案:
五、算法设计题(本题10分)
1. 从键盘上输入若干字符(每行长度不等),输入后把它们存储到一磁盘文件中,再从该文件
中读
出这些数据,将其中小写字母转换成大写字母再进行屏幕输出。 答案:本题的程序为: include<stdio.h> main()/*输入字符串到文件,取出并将小写转换成大写*/ { int i,flag; char str[80],ch; fILE *fp; fp=fopen(″text″,″wt″); for (flag=1:flag;;)/*输入字符串*/ { printf (″\\n输入字符串:\\n″) gets(str); fprintf(fp,″%t″,str); printf(″coutinnue?Y/N″); if ((ch=getchar())==″n″)!!(ch==′n′)) flag=0; getchar(); } fseek(fp,0,0); while(fscanf (fp,″%s″,str)!=EOF) { for (i=.0;str[i]=′e′;i==) if ((str[i]=′a′) && str[i]<=′z′/*小写字母进行转换*/ str[i]=str[i]-32; printf(″\\n%\\n″,str); } fclose(fp); }/*main*/