西南大学网教《数据结构》平时作业及答案

●如下叙述中正确的是 (45) 。

(45) A.串是一种特殊的线性表

B.串的长度必须大于0

C.串中元素只能是字母

D.空串就是空白串


正确答案:A
【解析】串是一种特殊的线性表。串的长度不一定非要大于0,如空串;串中元素除了字母外,也可以是数字、符号等;空串是不包含任何字符、长度为0的串,而空白串是包含空白字符(如空格、制表符等)的串,空白串的长度>0。


将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为()

A、O(m+n)

B、O(n)

C、O(m)

D、O(1)


参考答案:D


设循环队列Q的定义中有rear和len两个域变量,其中rear表示队尾元素的指针,len表示队列的长度,如下图所示(队列长度为3,队头元素为e)。设队列的存储空间容量为M,则队头元素的指针为(57)。

A.(Q.rear+Q.len-1)

B.(Q.rear+Q.1en-1+M)%M

C.(Q.rear-Q.1en+1)

D.(Q.rear-Q.1en+1+M)%M


正确答案:D
解析:按照正常线性存储的队列,队头元素的指针为(Q.rear-Q.len+1),而在循环队列里面,Q.rear-Q.1en+1可能会由于循环存储而变为负值,所以需要处理为(Q.rear-Q.1en+1+M)%M。


设数组data[0…m]作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为

A.sq↑.front:=sq↑.front+1;

B.sq↑.front:=(sq↑.front+1)%maxsize ;

C.sq↑.rear:=(sq↑.rear+1)%maxsize ;

D.sq↑.front:=(sq↑.front+1)%(maxsize+1);


正确答案:B
解析:循环队列采用的方法是:假设向量sq↑.data [maxsize]是一个首尾相接的圆环,即sq↑.data [0]接在sq↑.data [maxsize-1]之后,我们将这种意义下的向量称循环向量,并将循环向量中的队列称为循环队列。若当前尾指针等于向量的上界,则再做入队列操作时,令尾指针等于向量的下界,这样就利用到已被删除的元素空间,克服假上溢现象。因此入队操作时,在循环意义下的尾指针加1操作可描述为:if(sq↑.rear>=maxsize)sq↑.near:=0;else sq↑.rear++;如果利用"模运算",上述循环意义下的尾指针加1操作,可以更简洁地描述为:sq↑.rear=(sq↑.rear+1)%maxsize。同样,出队操作时,在循环意义下的头指针加1操作,也可利用"模运算"来实现:sq↑.front:=(sq↑.front+1)%maxsize。


不定长文件是指【】

A.文件的长度不固定

B.记录的长度不固定

C.字段的长度不固定

D.关键字项的长度不固定


正确答案:B


1、用某种排序方法对关键字序列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 那么所采用的排序方法是D A. 选择排序B. 希尔排序C. 归并排序D. 快速排序2、不定长文件是指A A. 文件的长度不固定B. 记录的长度不固定C. 字段的长度不固定D. 关键字项的长度不固定3、如下陈述中正确的选项是C A. 串是一种特殊的线性表B. 串的长度必须大于零C. 串中元素只能是字母D. 空串就是空白串4、将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为AA. O1B. OnC. OmD. Om+n5、设数组datam作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,那么执行出队操作后其头指针front值为 DA. front=front+1B. front=(front+1)%(m-1)C. front=(front-1)%mD. front=(front+1)%m6、计算机算法必须具备输入、输出和D等5个特性A. 易读性、稳定性和平安性B. 确定性、有穷性和稳定性C. 可行性、可移植性和可扩充性D. 可行性、确定性和有穷性7、有8个结点的无向图最多有C条边A. 112B. 56C. 28D. 148、不含任何结点的空树CA. 是一棵二叉树B. 是一棵树C. 是一棵树也是一棵二叉树D. 既不是树也不是二叉树9、一棵深度为6的满二叉树有B个分支结点A. 30B. 31C. 32D. 3310、把一棵树转换为二叉树后,这棵二叉树的形态是AA. 唯一的B. 有多种C. 有多种,但根结点都没有左孩子D. 有多种,但根结点都没有右孩子11、在对n个元素的序列进行排序时,堆排序所需要的附加存储空间是:BA. O(log2n)B. O(1)C. O(n)D. O(nlog2n)12、假设需要在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,那么可选择的排序方法是 CA. 快速排序B. 堆排序C. 归并排序D. 直接插入13、设哈希表长m=14,哈希函数H(key)=key MOD 11。表中已有4个结点:addr(15)=4,addr(38)=5,addr(61)=6,addr(84)=7 其余地址为空,如用二次探测再散列处理冲突,那么关键字为49的地址为:CA. 3B. 5C. 8D. 914、设一棵完全二叉树有300个结点,那么共有A个叶子结点A. 150B. 152C. 154D. 15615、由个结点所构成的二叉树有 D种形态.A. 2B. 3C. 4D. 516、设有两个串p和q,求q在p中首次出现的位置的运算称作:BA. 连接B. 模式匹配C. 求子串D. 求串长17、栈中元素的进出原那么是:BA. 先进先出B. 后进先出C. 栈空那么进D. 栈满那么出18、链表是一种采用C存储结构存储的线性表.A. 顺序B. 星式C. 链式D. 网状19、数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:BA. 存储结构B. 顺序存储结构C. 逻辑结构D. 链式存储20、一个具有n个顶点的有向图最多有D 条边A. n(n-1)/2B. n(n-1)C. n2D. n(n+1)/221、判断一个循环队列Q最多n个元素为满的条件是:AA. Q-front=(Q-rear+1)%nB. Q-rear=Q-front+1C. Q-front=(Q-rear-1)%nD. Q-rear=Q-front22、在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是:DA. p=p-nextB. p=p-next-nextC. p-next=pD. p-next=p-next-next23、在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是:BA. p-next=q;q-prior=p;p-next-prior=q;q-next=q;B. q-prior=p;q-next=p-next;p-next-prior=q;p-next=q;C. q-next=p-next;q-prior=p;p-next=q;p-next=q;D. p-next=q;p-next-prior=q;q-prior=p;q-next=p-next;24、在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,那么度为0的结点个数为(B )A. 4B. 5C. 6D. 725、算法指的是 DA. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列26、在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为(B )A. n*neB. n*n2eC. eD. 2e27、线性表采用链式存储时,结点的存储地址D A. 必须是不连续的B. 连续与否均可C. 必须是连续的D. 和头结点的存储地址相连续28、抽象数据类型的组成局部分别为:ACDA. 数据对象B. 存储结构C. 数据关系D. 根本操作29、不具有线性结构的数据结构是:ACDA. 图B. 栈C. 广义表D. 树30、算法分析的两个主要方面是( CD)A. 正确性B. 简单性C. 空间复杂度D. 时间复杂度31、链表的每个结点中都恰好包含一个指针BA.B.32、如果将所有中国人按照生日来排序,那么使用哈希排序算法最快BA.B.33、折半查找只适用于有序表,包括有序的顺序表和链表BA.B.34、用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。AA.B.35、在单链

将长度为m的单链表连接在长度为n的单链表之后,单链表的长度为()。

A、m+n

B、m*n


参考答案:A


设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为()

:Afront=front+1

Bfront=(front+1)% m

Crear=(rear+1)%m

Dfront=(front+1)%(m+1)


参考答案:D


标准库函数fgets(s,n,f)的功能是( )

A.从文件f中读取长度为n的字符串存入指针s所指的内存

B.从文件f中读取长度不超过n-1的字符串存入指针s所指的内存

C.从文件f中读取n个字符串存入指针s所指的内存

D.从文件f中读取长度为n-1的字符串存入指针s所指的内存


正确答案:B


在长度为n的()上删除第一个元素,其算法的时间复杂度为O(n)。

A.只有表头指针的不带表头结点的循环单链表

B.只有表尾指针的不带表头结点的循环单链表

C.只有表尾指针的带表头结点的循环单链表

D.只有表头指针的带表头结点的循环单链表


参考答案:A


如下陈述中正确的是( )。

A.串“ABC”和串“ABC”不相等

B.串的长度必须大于零

C.串中元素只能是字母

D.空串就是空格串


正确答案:A
解析:两个串相等且仅当两个串长度相等,并且各对应位置的字符都相等,零个字符的串称为空串,空格串是由一个或多个空格组成的串,它的长度为串中空格的个数。

更多 “西南大学网教《数据结构》平时作业及答案” 相关考题
考题 如下陈述中错误的是()。A、串是一种特殊的线性表B、串的长度必须大于零C、串中元素只能是字母D、空串就是空白串正确答案:B,C,D

考题 在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是()A、front=maxSizeB、(rear+1)%maxSize=frontC、rear=maxSizeD、rear=front正确答案:B

考题 用循环链表表示的队列长度为n,若只设头指针,则出队和入队的时间复杂度分别是()和()。正确答案:O(1);O(n)

考题 在长度为n(Il>1)的()上,删除第一个元素.其时间复杂度为O(n)。A.只有首结点指针的不带头结点的循环单链表 B.只有尾结点指针的不带头结点的循环单链表 C.只有尾结点指针的带头结点的循环单链表 D.只有头结点的循环单链表答案:A解析:只有首结点指针的不带头结点的循环单链表删除第一个元素,需要遍历整个链表,因此A项的时间复杂度为O(n),BCD三项的时间复杂度都为O(1)。

考题 将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为()。A、O(1)B、O(n)C、O(m)D、O(m+n)正确答案:C

考题 如下陈述中正确的是()。A.串是一种特殊的线性表 B.串的长度必须大于零 C.串中元素只能是字母 D.空串就是空白串答案:A解析:串的长度可以等于0,等于0时叫作空串。空串和空白串是不同的,例如:Strings=“”,是空串;Strings=NULL,是空白串。串中的元素只能是字符,但不仅仅是字母。

考题 设循环队列Q的定义中有front和size两个域变量,其中front表示队头元素的指针,size表示队列的长度,如下图所示(队列长度为3,队头元素为x,队尾元素为z)。设队列的存储空间容量为M,则队尾元素的指针为 (58)。A.(Q.front+Q.size-1)B.(Q.front+Q.size-1+M)%MC.(Q.front-Q.size)D.(Q.front-Q.size+M)%M正确答案:B本题考查循环队列队尾指针的计算方法。从图示可以看出,要得到z的值可进行Q.front+Q.size-1操作,但在此不容忽视的一个问题是,循环队列在进行了多次入队出队操作之后,Q.front+Q.size-1有可能大于M,如Q.front指向M-1空间时,Q.front+Q.size-1=M+1,这已超出队列长度,所以需要让其与M进行求模操作,修正位置号。

考题 下面陈述中正确的是______。A.串是一种特殊的线性表B.串的长度必须大于零C.串中元素只能是字母D.空串就是空白串正确答案:A解析:本题考查串的概念,串是仅由字符构成的有限序列,是取值范围受限的线性表。空串是长度为零的串,空串不包括任何字符;空格串是由一个或多个空格组成的串,虽然空格是一个空白符,但它也是一个字符。

考题 单选题如下陈述中正确的是( )A 串是一种特殊的线性表B 串的长度必须大于零C 串中元素只能是字母D 空串就是空白串正确答案:A解析:

考题 散列(Hash)算法是( )。A.将任意长度的二进制串映射为固定长度的二进制串B.将较短的二进制串映射为较长的二进制串C.将固定长度的二进制串映射为任意长度的二进制串D.将任意长度的二进制串映射为与源串等长的三进制串正确答案:A