数据结构作业一满分版

合集下载

数据结构作业一满分版

数据结构作业一满分版

数据结构作业一满分版.1.在线性表的下列存储结构中,读取元素花费的时间最少的是A.单链表B. 双向链表C.循环链表D.顺序表说明:顺序表总从链表访问快,因为顺序表元素都是按顺序排列在一起的。

而链表的元素是分散的,要访问它的某一个元素,必须先访问它前面的元素。

2.顺序表是线性表的A.链式存储结构B. 顺序存储结构C. 索引存储结构D.散列存储结构说明:顺序存储指在内存中是一个连续的整块,这是定义,没啥说的。

3. 以下关于线性表的说法不正确的是( )。

A、线性表中的数据元素可以是数字、字符、记录等不同类型。

B、线性表中包含的数据元素个数不是任意的。

C、线性表根据存储结构分可以有顺序表、链表、动态表D、存在这样的线性表:表中各结点都没有直接前趋和直接后继说明:A,我认为可以是任何类型(暂时没想出反例)B,这句话不太好理解,估计原题的意思是为了说明:线性表是能得到确切的元素个数。

C,线性表只包括顺序表和链表。

而动态表,没听说过这种说法。

D,线性表为空,好像就符合题意。

4.在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。

A) 基地址B) 结点大小C) 向量大小D)基地址和结点大小说明:这里任意结点是指给出这个结点的索引(index),则其地址为:base + index * sizeof(node),这里base为基地址,sizeof(node)为结点大小,假设index从0开始计数(C/C++都是从0开始,如果其它语言从1开始,只要将index-1代替index 就可以了)5.在等概率情况下,顺序表的插入操作要移动( )结点。

A) 全部B) 一半C) 三分之一D)四分之一说明:插入和删除操作,平均约要移动全部元素的1/2,在P25,有推导公式,记住结果就行了。

'..6.在( )运算中,使用顺序表比链表好。

A) 插入B) 删除C) 根据序号查找D) 根据元素值查找说明:插入、删除操作都是链表快。

北语 18秋《数据结构》 作业1234

北语 18秋《数据结构》 作业1234

18秋《数据结构》作业_1一、单选题 ( 每题4分, 共23道小题, 总分值92分 )1.答案:B作业代做QQ:805009261 成绩保证95分以上,基本满分!2.答案:B3.答案:D4.答案:D5.与单链表相比,双链表的优点之一是___。

A. 插入、删除操作更简单B. 可以进行随机访问C. 可以省略表头指针或表尾指针D. 顺序访问相邻结点更灵活答案:D6.数据结构在计算机内存中的表示是指___。

A. 数据的存储结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系7.快速排序在下列情况下最易发挥其长处的是()。

A. 被排序的数据中含有多个相同排序码B. 被排序的数据已基本有序C. 被排序的数据完全无序D. 被排序的数据中的最大值和最小值相差悬殊8.A. (A)B. (B)C. (C)D. (D)9.链式栈与顺序栈相比,一个比较明显的优点是()。

A. 插入操作更加方便B. 通常不会出现栈满的情况C. 不会出现栈空的情况D. 删除操作更加方便10.11.12.13.有一个有序表{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为82的结点时,___次比较后查找成功。

A. 11B. 5C. 4D. 814.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有___个空指针域。

A. 2m-1B. 2mC. 2m+1D. 4m15.A. (A)B. (B)C. (C)D. (D)16.A. (A)B. (B)C. (C)D. (D)17.A. (A)B. (B)C. (C)D. (D)18.下述哪一条是顺序存储结构的优点___。

A. 插入运算方便B. 可方便地用于各种逻辑结构的存储表示C. 存储密度大D. 删除运算方便19.设某棵二叉树中有2000个结点,则该二叉树的最小高度为___。

A. 9B. 10C. 11D. 1220.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行___趟的分配和回收才能使得初始关键字序列变成有序序列。

[东北师范大学]《数据结构》20春在线作业1-1

[东北师范大学]《数据结构》20春在线作业1-1

【奥鹏】-[东北师范大学]数据结构20春在线作业1试卷总分:100 得分:100第1题,数据结构中的任一数据元素至多只有一个前驱和一个后继,该数据结构是 ( )A、线性表B、广义表C、树形结构D、图结构正确答案:A第2题,插入、删除只能在同一端进行的线性表,称为 ( )。

A、队列B、循环队列C、栈D、循环栈正确答案:C第3题,任何一棵二叉树的叶结点在前序、中序和后序遍历序列中的相对次序 ( )。

A、不发生改变B、发生改变C、稍有改变D、不能确定正确答案:A第4题,在k叉树中,度为0的结点称为 ( )。

A、根B、叶C、祖先D、子孙正确答案:B第5题,在下列排序算法中,哪一个算法的时间复杂度与记录初始排列无关 ()。

A、直接插入排序B、冒泡排序C、快速排序D、直接选择排序正确答案:D第6题,下面哪些方法可以判断出一个有向图是否有环(回路)? ()A、广(宽)度优先遍历B、拓扑排序C、求最短路径D、求关键路径正确答案:B第7题,串是一种特殊的线性表,其特殊性体现在 ( )。

A、可以顺序存储B、数据元素是一个字符C、可以链接存储D、数据元素可以是多个字符正确答案:B第8题,head指向的带表头结点的单链表为空的判定条件是 ( )。

A、head = = NULLB、head-next = = headC、head ! = NULLD、head-next = = NULL正确答案:D第9题,二叉树在线索化后,仍不能有效求解的问题是 ( )。

A、前序线索二叉树中求前序后继B、中序线索二叉树中求中序前驱C、中序线索二叉树中求中序后继D、后序线索二叉树中求后序后继正确答案:D第10题,算法分析的两个主要方面是 ( )。

A、正确性与健壮性B、可读性与可用性C、时间复杂度与空间复杂度D、数据复杂性与程序复杂性正确答案:C第11题,下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序。

东北大学 15春学期《数据结构Ⅰ》在线作业及满分答案(更新)

东北大学 15春学期《数据结构Ⅰ》在线作业及满分答案(更新)

东北大学15春学期《数据结构Ⅰ》在线作业及满分答案一、单选题(共20 道试题,共100 分。

)1.在一个带权连通图G中,权值最小的边一定包含在G的A. 最小生成树中B. 深度优先生成树中C. 广度优先生成树中D. 深度优先生成森林中正确答案:A2.高度为5的完全二叉树中含有的结点数至少为A. 16B. 17D. 32正确答案:A3.已知含10个结点的二叉排序树是一棵完全二叉树,则该二叉排序树在等概率情况下查找成功的平均查找长度等于A. 1.0B. 2.9C. 3.4D. 5.5正确答案:B4.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为A. O(n) O(n)B. O(n) O(1)C.D. O(1) O(1)正确答案:C5.某二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E 则该二叉树对应的森林包括的树的棵树是A. 1B. 2C. 3D. 概念上是错误的正确答案:B6.除第一层外,满二叉树中每一层结点个数是上一层结点个数的A. 1/2倍B. 1倍D. 3倍正确答案:C7.二维数组A的每个元素是由6个字符组成的串,其行下标i=0,l, (8)列下标为j=1,2.….10。

设每个字符占一个字节,若按行先存储,元素A[8,5]的起始地址与A按列存储时起始地址相同的元素是A. A[8,5]B. A[3,10]C.A[5,8]D. A[0,9]正确答案:B8.设数组A[m]为循环队列Q的存储空间,front为队头指针,rear为队尾指针,则判定Q为空队列的条件是B. front= =rearC. (rear-front)%m= =m-1D. front= =(rear+1)%m正确答案:B9.按排序过程中依据的原则分类,快速排序属于A.插入类的排序方法B. 选择类的排序方法C.交换类的排序方法D. . 归并类的排序方法正确答案:C10.设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为A. 5B. 6C. 7D. 8正确答案:D11.对关键字序列(56,23,78,92,88,67,19,34)进行增量为3的一趟希尔排序的结果为A.(19,23,56,34,78,67,88,92)B. (23,56,78,66,88,92,19,34)C.(19,23,34,56,67,78,88,92)D. (19,23,67,56,34,78,92,88)正确答案:D12.下列排序算法中,时间复杂度不受数据初始状态影响,恒为0(nlog2n)的是堆排序B. 冒泡排序C.直接选择排序D. 快速排序正确答案:A13.深度为h的满m叉树的第k层的结点(1=<k=<h)数有A. mk-1B. mk-1C. mh-1D. mh-1正确答案:A14.在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能G中有弧<Vi,Vj>B. G中有一条从Vi到Vj的路径C. G中没有弧<Vi,Vj>D. G中有一条从Vj到Vi的路径正确答案:D15.若要在单链表中的结点p之后插入一个结点s,则应执行的语句是A. s->next=p->next; p->next=s;B. p->next=s; s->next=p->next;C. p->next=s->next; s->next=p;D. s->next=p; p->next=s->next;正确答案:A16.A. 树的后根遍历与其对应的二叉树的后根遍历相同B.树的后根遍历与其对应的二叉树的中根遍历相同C.树的先根遍历与其对应的二叉树的中根遍历相同D.以上都不对正确答案:B17.带行表的三元组表是稀疏矩阵的一种A. 顺序存储结构B. 链式存储结构C. 索引存储结构正确答案:A18.当采用分快查找时,数据的组织方式为A. 数据分成若干块,每块内数据有序B. 数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C.数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D.数据分成若干块,每块(除最后一块外)中数据个数需相同正确答案:B19.在平衡二叉树中插入一个结点后引起了不平衡,设最低(最接近于叶子)的不平衡点是A,并已知A的左、右孩子的平衡因子分别为-1和0,则应进最新在线作业试卷A. LL型B. LR型C. RL型D. RR型正确答案:B20.适宜进行批量处理的文件类型是A. 顺序文件B. 索引顺序文件C. 散列文件D. 多关键字文件正确答案:A最新在线作业试卷_______________________________________________。

数据结构(本)形考作业1参考答案

数据结构(本)形考作业1参考答案

数据结构(本)形考作业指导作业1参考答案一、单项选择题1.C 2.D 3.B 4.C 5.D 6.C 7.B 8.C 9.A 10.B11.C 12.D 13.C 14.A 15.B 16.C 17.C 18.B 19.B 20.D二、填空题1.n-i+1 2.n-i3.集合线性结构树形结构图状结构4.物理结构存储结构5.线性结构非线性结构6.有穷性确定性可形性有零个或多个输入有一个或多个输出7.图状结构8.树形结构9.线性结构10.n-1 O(n) 11.s->next=p->next; 12.head13.q->next=p->next; 14.p->next=head; 15.单链表16.顺序存储链式存储17.存储结构18.两个直接后继直接前驱尾结点头结点19.头结点的指针指向第一个结点的指针20.链式链表三、问答题1.简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现?答:若用结点表示某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。

数据在计算机中的存储表示称为数据的存储结构。

可见,数据的逻辑结构是反映数据之间的固有关系,而数据的存储结构是数据在计算机中的存储表示。

尽管因采用的存储结构不同,逻辑上相邻的结点,其物理地址未必相同,但可通过结点的内部信息,找到其相邻的结点,从而保留了逻辑结构的特点。

采用的存储结构不同,对数据的操作在灵活性,算法复杂度等方面差别较大。

2.解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。

答:顺序结构存储时,相邻数据元素的存放地址也相邻,即逻辑结构和存储结构是统一的,,要求内存中存储单元的地址必须是连续的。

优点:一般情况下,存储密度大,存储空间利用率高。

缺点:(1)在做插入和删除操作时,需移动大量元素;(2)由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;(3)表的容量难以扩充。

大工15秋《数据结构》在线作业1满分答案

大工15秋《数据结构》在线作业1满分答案

大工15秋《数据结构》在线作业1满分答案大工15秋《数据结构》在线作业1一单选题1.广义表((e))的表头是()。

A. eB. (e)C. ()D. (())正确答案:B2.在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改()个指针域的值。

A. 1B. 2C. 3D. 4正确答案:B3.在一个长度为n的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为()。

A. (n+1)/2B. n/2C. nD. n+1正确答案:C4.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()。

A. head==NULLB. head→next==NULLC. head→next==headD. head!=NULL正确答案:B5.一个顺序栈S,元素a,b,c,d,e依次进栈,如果5个元素的出栈顺序为b,e,d,c,a,则顺序栈的容量至少应为()。

A. 2B. 3C. 4D. 5正确答案:C6.在表长为n的顺序表中,若在每个位置插入数据元素的概率相等,插入一个数据元素平均需要移动()个数据元素。

A. (n-1)/2B. n/2C. n-1D. n正确答案:B7.广义表L=(a,(b,c)),进行Tail(L)操作后的结果为()。

A. cB. b,cC.(b,c)D.((b,c))正确答案:D8.表达式a*(b+c)-d的后缀表达式是()。

A. abcd*+-B. abc+*d-C. abc*+d-D. -+*abcd精确谜底:B9.在一个单链表中,删除*p结点之后的一个结点的操作是()。

A. p->next=p;B. p->next->next=p->next;C. p->next->next=p;D. p->next=p->next->next;精确谜底:D10.最大容量为n的轮回行列,队尾指针是rear,队头是front,则队空的条件是()。

数据结构(大作业)

数据结构(大作业)

一、应用题(每小题10分,共50分)
1.把下图中的二叉树转化成森林。

2.给定表(45,36,56,6,64,32,8,41),按数据元素在表中的次序构造一棵二叉查找树。

3.写出中缀表达式A-(B+C/D)*E的后缀形式。

ABCD/+E*-
4. 下图是一个地区的交通网络模型,顶点表示城市,边表示城市间的公路,边的权值表示构造公路的费用,请问如何构造出能连通各个城市且造价最低的交通网,并写出其构造过程。

5. 已知数据序列为12,5,9,20,6,31,24,对该数据序列进行排序,试写出冒泡排序每趟的结果。

二、算法设计题(每小题50分,共25分)
1.判断单链表head(head 指向表头)是否是递增的。

2.设一棵二叉树以二叉链表为存储结构,试写一算法求该二叉树上度为2的结点个数。

则返回递归求左子树度为2节点个数。

情况3,则返回0算法步骤,如果r 既有左孩子又有右孩子,如果r 只有左孩子,则返回1 + 递归求左子树度为2节点个数+ 递归求右子树度为2节点个数,如果r 只有右孩子。

情况4。

情况2,则返回递归求右子树度为2节点个数。

情况1:
设根节点为r,如果r 既没有左孩子又没有右孩子。

(完整版)数据结构试题及答案

(完整版)数据结构试题及答案

数据结构试卷(一)王彬一、单选题(每题2 分,共20分)1.栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

cA.688 B.678 C.692 D.6965.树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( c d)个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

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

2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。

奥鹏北语14秋《数据结构》作业1满分答案

奥鹏北语14秋《数据结构》作业1满分答案
A. 1,2,3
B. 9,5,2,3
C. 9,5,3
D. 9,4,2,3
?
正确答案:D
17.以下____不是队列的基本运算。
A.
从队尾插入一个新元素
B.
从队列中删除第i个元素
C.
判断一个队列是否为空
D.
读取队头元素的值
?
正确答案:B
18.下列关于数据结构基本概念的叙述中,正确的是______。
A.数据的逻辑结构分为表结构和树结构
B.数据类型
C.数据元素
D.数据变量
?
正确答案:C
7. A. A
B. B
C. C
D. D
?
正确答案:A
8.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数为___。
A. 3
B. 4
C. 5
D. 1
?
正确答案:B
9.设有以下四种排序方法,则___的空间复杂度最大。
A.冒泡排序
B.快速排序
C.堆排序
D.希尔排序
?
正确答案:B
10.下面关于线性表的叙述错误的是___。
A.线性表采用顺序存储必须占用一片连续的存储空间
B.线性表采用链式存储不必占用一片连续的存储空间
C.线性表采用链式存储便于插入和删除操作的实现
D.线性表采用顺序存储便于插入和删除操作的实现
?
正确答案:D
11. A. A
B. B
?
正确答案:C
3.在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为___。
A. 4
B. 5
C. 6
D. 7
?

电子科技大学15秋《数据结构》在线作业1满分答案

电子科技大学15秋《数据结构》在线作业1满分答案

15秋《数据结构》在线作业1
一,单选题
1. 在计算机内实现递归算法时所需的辅助数据结构是()。

A. 栈
B. 队列
C. 树
D. 图
正确答案:A
2. 对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为()。

A. 顺序表
B. 用头指针表示的单循环链表
C. 用尾指针表示的单循环链表
D. 单链表
正确答案:C
3. 判断两个串大小的基本准则是()。

A. 两个串长度的大小
B. 两个串中首字符的大小
C. 两个串中大写字母的多少
D. 对应的第一个不等字符的大小
正确答案:B
4. 在目标串T[0..n-1]=″xwxxyxy″中,对模式串P[0..m-1]=″xy″进行子串定位操作的结果是()。

A. 0
B. 2
C. 3
D. 5
正确答案:C
5. 栈和队列都是()。

A. 限制存取位置的线性结构
B. 顺序存储的线性结构
C. 链式存储的线性结构
D. 限制存取位置的非线性结构
正确答案:D
6. 设有两个串T和P,求P在T中首次出现的位置的串运算称作()。

A. 联接
B. 求子串
C. 字符定位
D. 子串定位。

北语直属14秋《数据结构》作业1满分答案

北语直属14秋《数据结构》作业1满分答案

作业名称:14秋《数据结构》作业1 出卷人:SA
作业总分:100 通过分数:60
起止时间:2015-1-21 10:20:21 至2015-1-22 9:11:26
学员姓名:学员成绩:100
标准题总分:100 标准题得分:100
详细信息:
题号:1 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:4.17 内容:
将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为___。

A、O(1)
B、O(n)
C、O(m)
D、O(m+n)
标准答案:C
学员答案:C
本题得分:4.17
题号:2 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:4.17 内容:
栈和队列的共同特点是___。

A、只允许在端点处插入和删除元素
B、都是先进后出
C、都是先进先出
D、没有共同点
标准答案:A
学员答案:A
本题得分:4.17
题号:3 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:4.17 内容:
图形:
A、(A)
B、(B)
C、(C)
D、(D)
标准答案:A
学员答案:A
本题得分:4.17。

数据结构作业1

数据结构作业1

1n ,21)n(n i n1i ≥+=∑=《数据结构》作业一1-1什么是数据? 它与信息是什么关系?1-2什么是数据结构? 有关数据结构的讨论涉及哪三个方面?1-3数据的逻辑结构分为线性结构和非线性结构两大类。

线性结构包括数组、链表、 栈、队列、优先级队列等; 非线性结构包括树、图等、这两类结构各自的特点是什么? 1-4.什么是抽象数据类型?试用C++的类声明定义“复数”的抽象数据类型。

要求 (1) 在复数内部用浮点数定义它的实部和虚部。

(2) 实现3个构造函数:缺省的构造函数没有参数;第二个构造函数将双精度浮点数赋给复数的实部,虚部置为0;第三个构造函数将两个双精度浮点数分别赋给复数的实部和虚部。

(3) 定义获取和修改复数的实部和虚部,以及+、-、*、/等运算的成员函数。

(4) 定义重载的流函数来输出一个复数。

1-5 用归纳法证明: (1) (2) 1n ,61)1)(2n n(n in1i 2≥++=∑=(3)0n 1, x ,1x 1x x 1n ni i≥≠--=+=∑ 1-6 什么是算法? 算法的5个特性是什么? 试根据这些特性解释算法与程序的区别。

1-7 设n 为正整数, 分析下列各程序段中加下划线的语句的程序步数。

(1) for (int i = 1; i <= n ; i++) (2) x = 0; y = 0; for (int j = 1; j <= n ; j++) {for (int i = 1; i <= n ; i++)c[i][j] = 0.0; for (int j = 1; j <= i ; j++)for (int k = 1; k <= n ; k++) for (int k = 1; k <= j ; k++)c[i][j] = c[i][j] + a[i][k] * b[k][j]; x = x + y ;} (3) int i = 1, j = 1; (4) int i =1; while (i<=n && j<=n) { do {i = i + 1; j = j + i ;for (int j = 1; j <= n ; j++)}i = i + j ;} while ( i < 100 + n );1-8 试编写一个函数计算n!*2n 的值,结果存放于数组A[arraySize]的第n 个数组元素中,0 ≤ n ≤ arraySize 。

福师《数据结构概论》在线作业一

福师《数据结构概论》在线作业一

福师《数据结构概论》在线作业一福师《数据结构概论》在线作业一试卷总分:100 得分:100一、单选题 (共 25 道试题,共 50 分)1. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。

A. O(0)B. O(1)C. O(n)D. O(n^2)满分:2 分2. 算法的时间复杂度是由()决定的。

A. 问题的规模B. 待处理数据的初态C. A和BD. 变量个数满分:2 分3. 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( )A. (N+1)/2B. N/2C. ND. [(1+N)*N ]/2满分:2 分4. 栈在()中应用。

A. 递归调用B. 子程序调用C. 表达式求值D. A,B,C满分:2 分5. 下列排序算法中,()算法可能会出现下面情况:在最后一趟开始之前,所有元素都不在其最终的位置上。

A. 堆排序B. 冒泡排序C. 快速排序D. 插入排序满分:2 分6. 对于栈操作数据的原则是()A. 先进先出B. 后进先出C. 后进后出D. 不分顺序满分:2 分7. 对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()A. head==NULLB. head→next==NULLC. head→next==headD. head!=NULL满分:2 分8. 若要求尽可能快地对序列进行稳定的排序,则应选()A. 快速排序B. 归并排序C. 冒泡排序D. 堆满分:2 分9. 栈和队都是()A. 顺序存储的B. 线性结构C. 链式存储的D. 非线性结构满分:2 分10. 求解最短路径的Floyd算法的时间复杂度为()。

A. O(n)B. O(n+c)C. O(n*n)D. O(n*n*n)满分:2 分11. 假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=()。

数据结构作业题及参考答案

数据结构作业题及参考答案

东北农业大学网络教育学院数据结构作业题(一)一、选择题(每题2分,共20分)1.在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为()。

A、O(n)B、O (n/2)C、O (1)D、O (n2)2.带头结点的单链表first为空的判定条件是()。

A、first == NULL;B、first->link == NULL;C、first->link == first;D、first != NULL;3.在一棵树中,()没有前驱结点。

A、分支结点B、叶结点C、树根结点D、空结点4.在有向图中每个顶点的度等于该顶点的()。

A、入度B、出度C、入度与出度之和D、入度与出度之差5.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为()的值除以9。

A、20B、18C、25D、226.下列程序段的时间复杂度为()。

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 (n2)7.栈是一种操作受限的线性结构,其操作的主要特征是()。

A、先进先出B、后进先出C、进优于出D、出优于进8.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。

若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为()。

A、(rear-front-1)%nB、(rear-front)%nC、(front-rear+1)%nD、(rear-front+n)%n9.高度为5的完全二叉树中含有的结点数至少为()。

A、16B、17C、31D、3210.如图所示有向图的一个拓扑序列是( )A、ABCDEFB、FCBEADC、FEDCBAD、DAEBCF二、填空题(每空1分,共20分)1.n (n﹥0) 个顶点的无向图最多有条边,最少有条边。

最新版国家开放大学《数据结构(本)》期末练习1满分答案

最新版国家开放大学《数据结构(本)》期末练习1满分答案

2016秋国家开放大学《数据结构(本)》期末练习1一、单项选择题1.栈和队列的共同特点是()。

A.元素都可以随机进出B.都是先进先出C.都是先进后出D.都是操作受限的线性结构2.数据的存储结构包括数据元素的表示和()。

A.数据处理的方法B.数据元素间的关系的表示C.相关算法D.数据元素的类型3.对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,则执行:p=(structnode*)malloc(sizeof(structnode);p->data=a;和()。

A.top->next=p;p=top;B.p->nex=top;top=p;C.top=top->next;p=top;D.p->next=top;p=top;4.树状结构中数据元素的位置之间存在()的关系。

A.每一个元素都有一个直接前驱和一个直接后继B.一对一C.多对多D.一对多5.设头指针为head的非空的单向链表,指针p指向尾结点,则通过以下操作()可使其成为单向循环链表。

A.p->next=NULL;B.head=p;C.p->next=head;D.p=head;6.设有一个长度为26的顺序表,要插入一个元素,并使它成为新表的第6个元素,需移动元素的个数为()。

A.21B.22C.20D.197.一种逻辑结构()。

A.只能有唯一的存储结构B.可以有不同的存储结构C.与存储该逻辑结构的计算机相关D.是指某一种数据元素的性质8.头指针为head的带头结点的单向循环链表,p所指向尾结点,要使该链表成为不带头结点的单向循环链表,可执行head=head->nex;和()。

A.p=head->nextB.head->next=pC.head->next=p->nextD.p->next=head;9.把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。

数据结构(本)第一次作业1

数据结构(本)第一次作业1

数据结构(本)第一次作业1第一次作业 1试卷总分:100注:请20分钟以内保存一次。

每大题完成后请先保存再更换大题,试卷试题全部完成后提交。

第1大题单项选择题(每题5分,共20题)(总分100.00)1.表达式a*(b+c)-d的后缀表达式是()。

(5.00分)A. -+*abcdB. abcd*+-C. abc+*d-D. abc*++d-2.下列说法中,不正确的是()。

(5.00分)A. 数据项可由若干个数据元素构成B. 数据项是数据中不可分割的最小可标识单位C. 数据可有若干个数据元素构成D. 数据元素是数据的基本单位3.一个线性表第一个元素的存储地址是100,每个元素的长度为4,则第5个元素的地址是()。

(5.00分)A. 116B. 100C. 110D. 1204.在一个栈顶指针为top 的链栈中,将一个p指针所指的结点入栈,应执行()。

(5.00分)A. p->next=top; top=p;B. p->next=top->next; top=top->next;C. top->next=p;D. p->next=top->next; top->next=p;5.在实际应用中,要输入多个字符串,且长度无法预定。

则应该采用()存储比较合适。

(5.00分)A. 无法确定B. 链式C. 堆结构D. 顺序6.判断一个顺序队列sq(最多元素为m)为空的条件是()。

(5.00分)A. sq->rear-sq->front== mB. sq->rear-sq->front-1== mC. sq->front==sq->rearD. sq->front==sq->rear+17.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。

(5.00分)A. f=r->next;B. r=f->next;C. f=f->next;D. r=r->next;8.若让元素1,2,3依次进栈,则出栈次序不可能出现()的情况。

数据结构(专科)作业1

数据结构(专科)作业1

数据结构(专科)作业1第一章绪论一、单选题1.一个数组元素a[i]与 A 的表示等价。

A *(a+i)B a+iC *a+iD &a+i2.对于两个函数,若函数名相同,但只是 C 不同则不是重载函数。

A 参数类型B 参数个数C 函数类型3.若需要利用形参直接访问实参,则应把形参变量说明为 B 参数。

A 指针B 引用C 值4.下面程序段的复杂度为 C 。

for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=i*j;A O(m2)B O(n2)C O(m*n)D O(m+n)5.执行下面程序段时,执行S语句的次数为 D 。

for(int i=1;i<=n;i++)for(int j=1; j<=i;j++)S;A n2B n2/2C n(n+1)D n(n+1)/26.下面算法的时间复杂度为 B 。

int f(unsigned int n){if(n==0||n==1) return 1;Else return n*f(n-1);}A O(1)B O(n)C O(n2)D O(n!)二、填空题1.数据的逻辑结构被除数分为集合结构、线性结构、树型结构和图形结构四种。

2.数据的存储结构被分为顺序结构、链接结构、索引结构和散列结构四种。

3.在线性结构、树型结构和图形结构中,前驱和后继结点之间分别存在着 1对1 、 1对N 和 M 对N 的关系。

4.一种抽象数据类型包括数据和操作两个部分。

5.当一个形参类型的长度较大时,应最好说明为引用,以节省参数值的传输时间和存储参数的空间。

6.当需要用一个形参访问对应的实参时,则该形参应说明为引用。

7.在函数中对引用形参的修改就是对相应实参的修改,对值(或赋值)形参的修改只局限在该函数的内部,不会反映到对应的实参上。

8.当需要进行标准I/O操作时,则应在程序文件中包含 iostream.h 头文件,当需要进行文件I/O操作时,则应在程序文件中包含 fstream.h 头文件。

数据结构作业全

数据结构作业全

3. 算法设计题
(1) 试以顺序表作存储结构,实现线性表就地逆置? 【分析】线性表 (0,1, 2, , n − 1) 的就地逆置即将对称元素交换。设线性表的长度为 n ,将 线性表中第 i 个元素与第 n − i − 1 个元素交换。 【解答】
Dr. yimin zhou released for Sophomore. 34th. 33rd. Oct, Sep, 2014. 2013.
Dr. yimin zhou released for Sophomore. 34th. 33rd. Oct, Sep, 2014. 2013.
(6) 用顺序表表示集合,设计算法实现集合的求并集运算。 【分析】本题的要求即 C = A B , C 中元素即是 A 和 B 中非重复出现的所有元素。先 将表 A 复制到 C 中, 然后扫描 B 。 对 B 中的元素 B.data[i]若与表 A 中所有元素皆不相同, 则表示是并集中的元素,将其放入到 C 中。 【解答】
每次从队列中删除的总是最早插入的元素若用一个长度为6的数组来实现循环队列且当前的rear和front值分别为0则从该队列中删除一个元素再增加两个元素后rear和front值分别为用不带头节点的单链表存储队列时其队头指针指向队头节点队尾指针指向队尾节点则执行删除操作时a
线性表 顺序表 链表
1. 选择题
(8) 约瑟夫环问题。 【其一】据说著名犹太历史学家 Josephus 有过以下的故事:在罗马人占领乔塔帕特后, 39 个犹太人与 Josephus 及他的朋友躲到一个洞中,39 个犹太人决定宁愿死也不要被敌 人抓到,于是决定了一个自杀方式,41 个人排成一个圆圈,由第 1 个人开始报数,每报 数到第 3 人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。 然而 Josephus 和他的朋友并不想遵从,Josephus 要他的朋友先假装遵从,他将朋友与自 己安排在第 16 个与第 31 个位置,于是逃过了这场死亡游戏。 【其二】17 世纪的法国数学家加斯帕在《数目的游戏问题》中讲了这样一个故事:15 个教徒和 15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于 难,于是想了一个办法:30 个人围成一圆圈,从第一个人开始依次报数,每数到第九个 人就将他扔入大海,如此循环进行直到仅余 15 个人为止。问怎样排法,才能使每次投 入大海的都是非教徒。 【其三】 N 个人,编号 0..N − 1 ,从 0 开始报数,报到 M − 1 的退出,通常取 M < N 。剩 下的人继续从 0 开始报数,报到 M − 1 的退出,如此往复。求最终胜利者的编号。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.在线性表的下列存储结构中,读取元素花费的时间最少的是
A.单链表
B. 双向链表
C.循环链表
D.顺序表
说明:顺序表总从链表访问快,因为顺序表元素都是按顺序排列在一起的。

而链表的元素是分散的,要访问它的某一个元素,必须先访问它前面的元素。

2.顺序表是线性表的
A.链式存储结构
B. 顺序存储结构
C. 索引存储结构
D.散列存储结构
说明:顺序存储指在内存中是一个连续的整块,这是定义,没啥说的。

3. 以下关于线性表的说法不正确的是( )。

A、线性表中的数据元素可以是数字、字符、记录等不同类型。

B、线性表中包含的数据元素个数不是任意的。

C、线性表根据存储结构分可以有顺序表、链表、动态表
D、存在这样的线性表:表中各结点都没有直接前趋和直接后继
说明:A,我认为可以是任何类型(暂时没想出反例)
B,这句话不太好理解,估计原题的意思是为了说明:线性表是能得到确切的元素个数。

C,线性表只包括顺序表和链表。

而动态表,没听说过这种说法。

D,线性表为空,好像就符合题意。

4.在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。

A) 基地址 B) 结点大小 C) 向量大小 D)基地址和结点大小
说明:这里任意结点是指给出这个结点的索引(index),则其地址为:base + index * sizeof(node),这里base为基地址,sizeof(node)为结点大小,假设index从0开始计数(C/C++都是从0开始,如果其它语言从1开始,只要将index-1代替index 就可以了)
5.在等概率情况下,顺序表的插入操作要移动( )结点。

A) 全部B) 一半 C) 三分之一 D) 四分之一
说明:插入和删除操作,平均约要移动全部元素的1/2,在P25,有推导公式,记住结果就行了。

6.在( )运算中,使用顺序表比链表好。

A) 插入 B) 删除C) 根据序号查找 D) 根据元素值查找
说明:插入、删除操作都是链表快。

根据元素值查找,都是要遍历每个元素,进行比对,直到找到为止,两者效率应该相等。

根据序号查找,也就是根据索引index,顺序表的访问时间为常量,比链表要快,这与第4题是同一个知识点。

7.在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( )。

A) O(1) B) O(n) C) O(n^2) D) O(log2n)
说明:插入前要遍历之前的每一个元素,直到找到位置为止,这个定位过程,都是O(n)
8.( )适合作为经常在首尾两端操作线性表的存储结构。

A) 顺序表 B) 单链表 C) 循环链表D) 双向链表
说明:常用操作无非包括插入、删除、读取三种方式。

顺序表的插入效率太低,不予考虑。

对于BCD三种链表(循环链表没说是双向的,我们这里只认为是普通方式,即单向循环)。

对首端的操作差不多。

但对尾端就不一样了。

比如要删除尾结点t ,则必须先找到它的前一个结点s。

前两者,只有遍历整个链表,才能找到s。

而在双向链表中,只要用s = t->prior就可以表示它的前一个结点了。

9.非空的循环单链表head的尾节点(由r所指向)满足
A) r->next=NULL B) r=NULL C) r->next=head D) r=head
说明:这是定义,最后一个结点的下一结点为头结点。

10.设线性表(a1,a2,a3···a n)按顺序存储,且每个元素占有m个存储单元,则元素a i的地址为
A LOC(a1) + i×m ,其中LOC(a1)表示元素a1的地址
B LOC(a1) + (i-1)×m,
C LOC(a1) + (i-2)×m
D 元素a i的地址无法计算
说明:见第4题,这里从1开始,所以要减去1
11.线性表若采用链式存储结构时,要求内存中可用存储单元的地址
A) 必须是连续的 B) 部分地址必须是连续的
C) 一定是不连续的D) 连续或不连续都可以
说明:其每个结点的地址,都是malloc()出来的,这是系统调用,可能连
续也可能不连续,不过一般情况下,都是不连续的。

12. 下列图1单链表执行R->data=P->next->data语句后,P->next->data值为:
A.
2 B. 5 C.7
D. 3
图1
说明:只是将P->next->data赋值给别人了,自己没变化。

13.在一个单链表中,若P所指结点不是最后结点,在P之后插入S所指结点,则执行:
A.S→next=P;P→next=S
B.S→next=P→next;P→next=S
C.S→next=P→next; P=S
D.P→next=S;S→next=P
说明:链表插入的标准操作。

要注意的是,这两步别写反了,否则链就断开
了。

14.单链表表示的整数数列如下: 值P→next→next->data为:
A. 19
B. 47
C. 64
D. 93
说明:P→next就是指向64那个结点,P→next→next就是指向93那个结点,其data自然就是93了
15. 在( )链表中,不能从任一结点出发访问到表中的所有结点的是:
A) 单链表 B) 单向循环链表 C) 双向循环链表 D) 循环链表
说明:循环链表和双链表都行,只有单链表不行。

16、在双向循环链表的*p结点之后插入*s结点的操作是:()
A)p->next=s; s->prior=p; p->next->prior=s; s->next=p->next
B)p->next=s; p->next->prior=s; s->prior=p; s->next=p->next
C)s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;
D)s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;
说明:不难,会了第13题,画个图比划一下就行,同样要注意,不要把链给断开了。

相关文档
最新文档