国开 数据结构(本) 网上在线形考作业[答案]

作者:奥鹏作业答案 字体:[增加减小] 来源:国家开放大学 时间:2022-11-17 00:10

把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为( )。 A. 给相关变量分配存储单元 B. 算法的具

国开 数据结构(本) 网上在线形考作业[答案]

国开数据结构(本) 网上在线形考作业

正确答案:A

B. 算法的具体实现

C. 逻辑结构

D. 物理结构
D

正确答案:A

下列说法中,不正确的是( )。
A. 数据项可由若干个数据元素构成

B. 数据项是数据中不可分割的最小可标识单位

C. 数据可有若干个数据元素构成

D. 数据元素是数据的基本单位
A

正确答案:B

一个存储结点存储一个( )。
A. 数据类型

B.数据结构

正确答案:A

C. 数据元素

D. 数据项
C

正确答案:B

数据结构中,与所使用的计算机无关的是数据的( )。
A. 逻辑结构

B. 物理和存储结构

C. 物理结构

D. 存储结构

正确答案:A

在线性表的顺序结构中,以下说法正确的是( )。
A. 进行数据元素的插入、删除效率较高

B. 逻辑上相邻的元素在物理位置上也相邻

C. 逻辑上相邻的元素在物理位置上不一定相邻

D. 数据元素是不能随机访问的

正确答案:D

对链表, 以下叙述中正确的是( )。
A. 可以通过下标对链表进行直接访问

B. 插入删除元素的操作一定要要移动结点

C. 结点占用的存储空间是连续的

D. 不能随机访问任一结点

正确答案:C

下列的叙述中,不属于算法特性的是( )。
A. 可读性

B. 输入性

C. 有穷性

D. 可行性

正确答案:B

算法的时间复杂度与( )有关。
A. 计算机的操作系统

B. 所使用的计算机

C. 数据结构

D. 算法本身

正确答案:B

设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为( )。
A. n-i+1

B. n-i

C. i

D. n-i-1

正确答案:D

设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为( )。
A. n-i-1

B. n-i+1

C. i

D. n-i

正确答案:D

在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句( )。
A. p->next=q

B. p=q->next

C. q->next=NULL

D. p->next=q->next

正确答案:D

在一个单链表中p所指结点之后插入一个s所指的结点时,可执行( )。
A. p=s->next

B. p->next= s; s->next= p->next

C. s->next=p->next; p->next=s;

D. p->next=s->next;

正确答案:D

非空的单向循环链表的尾结点满足( )(设头指针为head,指针p指向尾结点)。
A. p->next==head

正确答案:D

正确答案:C

正确答案:D

正确答案:A

B. p->next==NULL

C. p==NULL

D. p== head

正确答案:A

链表不具有的特点是( )。
A. 可随机访问任一元素

B. 插入删除不需要移动元素

C. 逻辑上相邻的元素在物理位置上不一定相邻

D. 不必事先估计存储空间

正确答案:D

带头结点的链表为空的判断条件是( )(设头指针为head)。
A. head->next==NULL

正确答案:D

B. head!=NULL

正确答案:A

C. head->next==head

正确答案:B

D. head ==NULL

正确答案:A

在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为( )。
A. 25

B. 20

C. 21

D. 19

正确答案:A

有关线性表的正确说法是( )。
A. 线性表至少要求一个元素

B. 每个元素都有一个直接前驱和一个直接后继

C. 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继

D. 表中的元素必须按由小到大或由大到下排序

正确答案:A

向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动( )个元素。
A. 63.5

B. 63

C. 7

D. 8

正确答案:B

一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是( )。
A. 100

B. 98

C. 102

D. 106

正确答案:A

在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,且p、q仍然分别指向新表中第一个结点和尾结点。可用的语句是p=p->next;和( )。
A. q->next=p

B. p->next=q

C. p=q->next

D. q=p

正确答案:B

数据元素可以有一个或多个数据项组成。


数据元素之间的抽象关系称为物理结构。


数据的逻辑结构在计算机中的表示称为逻辑结构。


数据的逻辑结构是与存储该结构的计算机相关的。


数据结构中,元素之间存在多对多的关系称为树状结构。


通常可以把一本含有不同章节的书的目录结构抽象成线性结构。


通常可以把某城市中各公交站点间的线路图抽象成树型结构。


设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句p=p->next;。


设有一个单向链表,结点的指针域为next,头指针为head,p指向尾结点,为了使该单向链表改为单向循环链表,可用语句p->next=head 。

正确答案:B


设有一个单向循环链表,结点的指针域为next,头指针为head,指针p指向表中某结点,若逻辑表达式p->next==head;的结果为真,则p所指结点为尾结点。

正确答案:A


要在一个单向链表中p所指向的结点之后插入一个s所指向的新结点,若链表中结点的指针域为next,可执行 p->next=s; s->next= p->next;的操作。


要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行q->next= p->next;


要在一个带头结点的单向循环链表中删除头结点,得到一个ABC不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-> next; p->next=head;。

正确答案:A


设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个ABC单向循环链表,可执行操作p->next=head;。

正确答案:B


设线性表以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是输出链表中各结点中的数据域data,完成程序中空格部分。

正确答案:A

#define NULL 0

正确答案:A

void main( )

正确答案:A

{ NODE *head ,*p ;

正确答案:C

p=head; /*p为工作指针*/

正确答案:C

do

正确答案:D

{printf(“%d ”, 空白 ;

正确答案:D

空白 ;

}while 空白 ;

}

设有一个头指针为head的不带头结点单向链表,p、q是指向链表中结点类型的指针变量,p指向链表中结点a, (设链表中没有结点的数据域与结点a的数据域相同),写出相关语句

正确答案:C

(1)使该单向链表成为单向循环链表

(2)插入结点s,使它成为a结点的直接前驱

q=p; x=p->data;

正确答案:D

正确答案:B

正确答案:C

while 空白 )q=q->next;

q->next=head;

正确答案:A

q=p; p=p->next;

while(p->data!=x)

正确答案:B

{ q=p;

空白

}

s->next=p;

空白

若让元素1,2,3依次进栈,则出栈顺序不可能为( )。
A. 2,1,3

B. 1,3,2

C. 3,2,1

D. 3,1,2

正确答案:D

一个队列的入队序列是1,2,3,4。则队列的输出序列是( )。
A. 3,2,4,1

B. 1,2,3,4

C. 4,3,2,1

D. 1,4,3,2

正确答案:B

向顺序栈中压入新元素时,应当( )。
A. 先移动栈顶指针,再存入元素

B. 先存入元素,再移动栈顶指针

C. 先后次序无关紧要

D. 同时进行

正确答案:C

在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行( )。
A. top->next=p;

B. p->next=top->next;top->next=p;

C. p->next=top;top=p;

D. p->next=top->next;top=top->next;

正确答案:C

在一个栈顶指针为top的链栈中删除一个结点时,用 x保存被删结点的值,则执行( )。
A. x=top->data;top=top->next;

正确答案:C

B. x=top->data;

正确答案:B

正确答案:B

C. top=top->next;x=top->data;

D. x=top;top=top->next;

正确答案:A

判断一个顺序队列(最多元素为m)为空的条件是( )。
A. front==rear

B. rear=m

C. front==rear+1

D. rear==m-1

正确答案:D

判断一个循环队列为满的条件是( )。
A. rear%MaxSize= =front

B. rear=MaxSize

C. front==rear+1

D. (rear+1)%MaxSize==front

正确答案:B

判断栈满(元素个数最多n个)的条件是( )。
A. top=-1

B. top==0

C. top!=0

D. top==n-1

正确答案:C

设有一个20阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始), 则矩阵元素a6,2在一维数组B中的下标是( )。
A. 28

B. 17

C. 23

D. 21

正确答案:B

正确答案:C

在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个( )结构。
A. 线性表

B. 队列

C. 数组

D. 堆栈

正确答案:A

一个递归算法必须包括( )。
A. 终止条件和递归部分

B. 递归部分

C. 迭代部分

D. 终止条件和迭代部分

正确答案:C

在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为( )。
A. f=f->next;

B. f=r->next;

C. r=r->next;

D. r=f->next;

正确答案:B

在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为( )。
A. f->next=s;f=s;

B. r->next=s;r=s;

C. s->next=r;r=s;

D. s->next=f;f=s;

正确答案:B

数组a经初始化char a =“English”;a7中存放的是( )。
A. 字符串的结束符

B. “h”

C. 字符h

D. 变量h

正确答案:C

设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是( )。
A. BCd

正确答案:D

B. Bcd

C. ABC

D. Abc

正确答案:A

字符串 a1=”AEIJING”,a2=”AEI”,a3=”AEFANG”,a4=”AEFI”中最大的是( )。
A. a1

B. a4

C. a3

D. a2

正确答案:C

两个字符串相等的条件是( )。
A. 两串的长度相等,并且对应位置上的字符相同

B. 两串包含的字符相同

C. 两串的长度相等,并且两串包含的字符相同

D. 两串的长度相等

正确答案:B

一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是( )。
A. 90

B. 28

C. 64

D. 70

正确答案:D

一个非空广义表的表头( )。
A. 只能是子表

B. 只能是原子

C. 不可能是原子

D. 可以是子表或原子

正确答案:A

对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列的稀疏矩阵A,其相应的三元组表共有6个元素,矩阵A共有( )个零元素。
A. 72

B. 8

C. 74

D. 10

正确答案:A

正确答案:A

对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列的稀疏矩阵A共有73个零元素,A的右下角元素为6,其相应的三元组表中的第7个元素是( )。
A. (7,8,10)

B. (7,10,8)

C. (10,8,6)

D. (10,8,7)

正确答案:A

对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该 结点赋值a,则执行: p=(struct node *)malloc(sizeof(struct node);p->data=a;和( )。
A. p->next=top;p=top;

正确答案:D

B. p->next=top;top=p;

C. top=top->next;p=top;

D. top->next=p;p=top;

正确答案:B

头指针为head的带头结点的单向链表为空的判定条件是( )为真。
A. head->next==NULL

正确答案:C

B. head->next!=NULL

正确答案:B

正确答案:D

C. head->next!=NULL

D. head==NULL

正确答案:C

设有一个对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则该矩阵是( )阶的对称矩阵。
A. 20

B. 5

C. 10

D. 15

正确答案:B

正确答案:C

数组a经初始化char a =“English”;a1中存放的是( )。
A. 字符n

B. “E”

C. “n”

D. 字符E

正确答案:B

设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,则可执行操作。hs=s;

s-> next=hs;


设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈

结点的指针域为next,则可执行hs=hs->next ;x=hs->data;

正确答案:B


有一个链栈,栈顶指针为h,现有一个p所指向的结点要入栈,则可执行操作p->next=h;

和h=p;


设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,数据域为data,则可执行hs= hs->next; x= hs->data;

正确答案:C


在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入所指结点的操作为r->next=s;r=s;


在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,s指向一个要入 队的结点,则入队操作为r=s;r->next=s;


在一个不带头结点的非空链队中,f和r分别为队头和队尾指针,队结点的数据域为data,指针域为next,若要进行出队操作,并用变量x存放出队元素的数据值,则相关操作为x=f->data; f=f->next;

正确答案:D


对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的稀疏矩阵A相应的三元组表共有8个元素,则矩阵A共有34个零元素。


循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当(r+1)%MaxSize=f 时表明队列已满。


循环队列的队头指针为f,队尾指针为r,当r= =f时表明队列已满。


空串的长度是0;空格串的长度是空格字符的个数。


对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行下标、列下标、和非零元素值三项信息。


循环队列的引入,目的是为了克服假上溢。


设有n阶对称矩阵A,用一维数组s压缩存储A的下三角元素,s的下标从零开始,元素 s26相应于A中的元素为a 7,5。


循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,当队尾指针rear=3时队满。


循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,队尾指针rear=3时,队列中共有5个元素。


以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针

struct node

正确答案:A

正确答案:D

{ ElemType data;

struct node *next;

正确答案:A

正确答案:B

};

struct node *top ;

正确答案:D

void Push(ElemType x)

正确答案:A

{

struct node *p;

正确答案:B

正确答案:A

正确答案:A

p=(struct node*)malloc 空白 ;

正确答案:A

p->data=x;

正确答案:A

正确答案:B

空白 ;

空白 ;

}

以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别链队列的队头、队尾指针

struct node

{ ElemType data;

struct node *next;

};

struct node *front,*rear;

正确答案:A

void InQueue(ElemType x)

正确答案:D

{

struct node *p;

p= (struct node*) malloc 空白 ;

正确答案:B

p->data=x;

p->next=NULL;

空白 ;

rear= 空白 ;

}

假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为( )。
A. 16

B. 17

C. 47

D. 15

二叉树第k层上最多有( )个结点。
A. 2k-1

B. 2k-1

C. 2k-1

D. 2k

正确答案:D

将含有150个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点的编号为1,则编号为69的结点的双亲结点的编号为( )。
A. 35

B. 34

C. 36

D. 33

正确答案:D

如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为( )。
A. 完全二叉树

B. 二叉树

C. 哈夫曼树

D. 平衡二叉树

正确答案:A

在一棵度具有5层的满二叉树中结点总数为( )。
A. 32

B. 33

C. 31

D. 16

正确答案:C

一棵完全二叉树共有6层,且第6层上有6个结点,该树共有( )个结点。
A. 31

B. 37

C. 38

D. 72

正确答案:B

利用3、6、8、12这四个值作为叶子结点的权,生成一棵哈夫曼树,该树中所有叶子结点中的最长带权路径长度为( )。
A. 16

B. 30

C. 12

D. 21

在一棵树中,( )没有前驱结点。
A. 分支结点

B. 树根结点

C. 叶结点

D. 空结点

正确答案:D

设一棵采用链式存储的二叉树,除叶结点外每个结点度数都为2,该树结点中共有20个指针域为空,则该树有( )个叶结点。
A. 22

B. 21

C. 9

D. 10

在一个图G中,所有顶点的度数之和等于所有边数之和的( )倍。
A. 1/2

B. 2

C. 1

D. 4

正确答案:B

正确答案:C

邻接表是图的一种( )。
A. 索引存储结构

B. 顺序存储结构

C. 散列存储结构

D. 链式存储结构

正确答案:A

图的深度优先遍历算法类似于二叉树的( )遍历。
A. 层次

B. 后序

C. 中序

D. 先序

正确答案:A

已知下图所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。

2102133
A. V1V3V6V7V2V4V5V8

B. V1V2V4V5V8V3V6V7

C. V1V2V4V8V3V5V6V7

D. V1V2V4V8V5V3V6V7

正确答案:D

已知如下图所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。

2102123

A. aebcfd

B. aedfcb

正确答案:D

C. aecbdf

正确答案:D

D. abecdf

正确答案:A

图状结构中数据元素的位置之间存在( )的关系。
A. 每一个元素都有一个且只有一个直接前驱和一个直接后继

B. 一对多

C. 一对一

D. 多对多

正确答案:C

在一棵二叉树中,若编号为i的结点存在右孩子,则右孩子的顺序编号为( )。
A. 2i+2

B. 2i

C. 2i+1

D. 2i-1

正确答案:B

一棵具有16个结点的完全二叉树,共有( )层。(设根结点在第一层)
A. 4

B. 6

C. 5

D. 7

正确答案:B

对二叉排序树进行( )遍历,可以使遍历所得到的序列是有序序列。
A. 前序

B. 中序

C. 后序

D. 按层次

正确答案:B

已知一个图的边数为m,则该图的所有顶点的度数之和为( )。
A. m

B. m/2

C. 2m

D. 2m+1

正确答案:C

一棵二叉树的叶结点(终端结点)数为5,单分支结点数为2,该树共有11个结点。


一棵有14个结点的完全二叉树,则它的最高层上有7个结点。


一棵二叉树有6个叶结点,则该树总共有11个结点。


根据搜索方法的不同,图的遍历有.先序;中序;后序三种方法。


对于一棵具有n个结点的二叉树,其相应的链式存储结构中共有n-1个指针域空。


设一棵完全二叉树,其最高层上最右边的叶结点的编号为奇数,该叶结点的双亲结点的编号为10,该完全二叉树一共有21个结点。


设一棵完全二叉树,其最高层上最右边的叶结点的编号为偶数,该叶结点的双亲结点的编号为9,该完全二叉树一共有19个结点。


按照二叉树的递归定义,对二叉树遍历的常用算法有深度优先遍历和深度优先遍两种方法。


一棵有8个权重值构造的哈夫曼数,共有17个结点。


一棵有7个叶结点的二叉树,其1度结点数的个数为2,则该树共有15个结点。


以下程序是后序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。完成程序中空格部分。

正确答案:D

2102218

void

Inorder (struct BTreeNode *BT)

正确答案:C

{

if( BT!=NULL)

{

Inorder(BT->left);

正确答案:A

空白

空白

}

利用上述程序对左图进行后序遍历,结果是 空白 ;

以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。

正确答案:D

正确答案:D

void Inorder (struct BTreeNode *BT)

正确答案:A

正确答案:C

{

2102219

if(BT!=NULL){

Inorder(BT->left);}

正确答案:A

正确答案:C

空白 ;

空白 ;

}

利用上述程序对右图进行中序遍历,结果是 空白 ;

(1)以3,4,5,8,9,作为叶结点的权,构造一棵哈夫曼树。该树的带权路径长度为 . A,64 B.65 C. 62 D. 66(2)权重为3的叶结点的哈夫曼编码为。 A.010 B.0101 C.000 D.0111

正确答案:D

(1)以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树,该树的带权路径长度为 A,66 B. 80 C. 62 D. 87(2)权重值为4的叶结点的哈夫曼编码为。 A.0001 B. 1110 C.001 D. 110

正确答案:C

(1)已知某二叉树的后序遍历序列是debca,中序遍历序列是dbeac,该二叉树的根结点是 A. e B. c C. b D. a(2)先序遍历序列是。 A. e,b,c,d,a B. c,a,b,,d,e C. a,b,d,e,c D. a.c,b,d,e,

正确答案:D

(1)已知某二叉树的先序遍历序列是aecdb,中序遍历序列是eadcb,该二叉树的根结点是; A. e B. c C. b D. a(2)后序遍历序列为。 A. e,d,b,c,a B. c,a,b,,d,e C. a,b,d,e,c D. a.c,b,d,e,

正确答案:C

(1)以给定权重值5,6,17,21,25,30,为叶结点,建立一棵哈夫曼树,该树的中序遍历序列为A. 5,11,28,6,17,58,30,101,21,43,25B. 5,11,6,28,17,58,30,101,21,43,25 C. 5,11,6,28,101,58,30,17,21,43,25 D. 5,11,6,28,17,58,30,101,21,25,43 (2)权重值为6的叶结点的哈夫曼为. A. 1001 B. 011 C.001 D.0001

正确答案:A

对线性表进行二分查找时,要求线性表必须( )。
A. 以顺序存储方式

B. 以顺序存储方式,且数据元素有序

C. 以链接存储方式,且数据元素有序

D. 以链接存储方式

正确答案:C

采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为( )。
A. n

B. (n+1)/2

C. (n-1)/2

D. n/2

正确答案:B

有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为( )。
A. 26/10

B. 31/10

C. 29/9

D. 29/10

正确答案:C

已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较( )次。
A. 6

B. 5

C. 3

D. 4

有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是( )。
A. 37,24,12,30,53,45,96

B. 30,24,12,37,45,96,53

C. 12,24,30,37,45,53,96

D. 45,24,53,12,37,96,30

正确答案:C

对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是( )。
A. 4

B. 3

C. 6

D. 5

正确答案:C

正确答案:D

在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是( )。
A. 直接选择排序

B. 直接插入排序

C. 希尔排序

D. 冒泡排序

正确答案:D

从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此方法称为( )。
A. 插入排序

B. 选择排序

C. 归并排序

D. 交换排序

正确答案:D

依次将每两个相邻的有序表合并成一个有序表的排序方法称为( )。
A. 插入排序

B. 选择排序

C. 交换排序

D. 归并排序

正确答案:B

正确答案:C

当两个元素出现逆序的时候就交换位置,这种排序方法称为( )。
A. 归并排序

B. 交换排序

C. 选择排序

D. 插入排序

正确答案:B

每次把待排序的区间划分为左、右两个子区间,其中左区间中记录的关键字均小于等于基准记录的关键字,右区间中记录的关键字均大于等于基准记录的关键字,这种排序称为( )。
A. 快速排序

B. 堆排序

C. 插入排序

D. 归并排序

一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( )。
A. 20,30,40,38,46,79,56,84,90,100

B. 40,20,30,38,46,56,79,84,90,110

C. 20,30 38,40,46,56,79,84,90,100

D. 30,20,40,38,46,84,56,79,90,100

正确答案:A

在有序表{10,14,34,43,47,64,75,80,90}中,用折半查找法查找值80时,经( )次比较后查找成功。
A. 4

B. 5

C. 2

D. 3

正确答案:B

对序列(49,38,65,97,76,13,47,50)采用直接插入排序法进行排序,要把第七个元素47插入到已排序中,为寻找插入的合适位置需要进行( )次元素间的比较。
A. 4

B. 3

C. 6

D. 5

排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为( )排序。
A. 选择

B. 插入

C. 归并

D. 快速

正确答案:B

一组记录的关键字序列为(26,59,36,21,20,25),利用堆排序的方法建立的初始小根堆为( )。
A. 21,20,36,59,26,25

B. 26,21,59,20,36,25

C. 26,59,36,21,20,25

D. 21,20,25,59,26,36

正确答案:A

一组记录的关键字序列为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为( )。
A. 16,25,35,48,23,40,79,82,36,72

B. 16,25,48,35,79,82,23,36,40,72

C. 16,25,35,48,79,82,23,36,40,72

D. 16,25,35,48,79,23,36,40,82,72

正确答案:A

已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后的序列为( )。
A. 16,28,34,54,62,60,73,26,43,95

B. 16,28,34,54,73,62,60,26,43,95

C. 28,16,34,54,62,60,73,26,43,95

D. 28,16,34,54,62,73,60,26,43,95

正确答案:C

一组记录的关键字序列为(46,79,56,38,40,84),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( )。
A. 40,38,46,56,79,84

B. 38,40,46,56,79,84

C. 40,38,46,84,56,79

D. 40,38,46,79,56,84

正确答案:D

一组记录的关键字序列为(80,57,41,39,46,47),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为( )。
A. 39,80,46,47,41,57

B. 39,47,46,80,41,57

C. 41,39,46,47,57,80

D. 39,46,41,57,80,47

正确答案:A

以下函数是二叉排序树的查找算法,若二叉树为空,则返回根结点的指针,否则,返回值是指向树结点的结构指针p(查找成功p指向查到的树结点,不成功p指向为NULL)完成程序中的空格

typedef struct Bnode

正确答案:D

{ int key;

struct Bnode *left;

正确答案:C

struct Bnode *right;

正确答案:C

} Bnode;

正确答案:B

Bnode *BSearch(Bnode *bt, int k)

正确答案:B

/* bt用于接收二叉排序树的根结点的指针,k用以接收要查找的关键字*/

{ Bnode *p;

if(bt== 空白 )

return (bt);

p=bt;

while(p->key!= 空白 )

{ if(kkey)

空白 ;

else 空白 ;

if(p==NULL) break;

}

return( 空白 ;

}

以下程序是折半插入排序的算法

设待排序的记录序列存放在a1,…an中,以a0作为辅助工作单元,程序是要把ai 插入到已经有序的序列a1,…ai-1中。

void binsort (NODE a ,int n)

正确答案:C

{ int x,i,j,s,k,m;

for (i=2;i right )

空白printf(“%c”,BT?>data)

正确答案:D

}

利用上述程序对左图进行后序遍历,结果是 空白d,e,b,f,c,a ;

正确答案:B

以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。

void Inorder (struct BTreeNode *BT)

{

109255

if(BT!=NULL){

Inorder(BT->left);}

空白printf(“%c”,BT?>data) ;

正确答案:A

空白Inorder(BT?>right) ;

正确答案:A

}

利用上述程序对右图进行中序遍历,结果是 空白d,b,e,a,f,c ;

正确答案:B

国开网 数据结构(本) 网上在线形考作业国开电大历年参考题目如下:




国开网 数据结构(本) 网上在线形考作业[答案]相关练习题:
处理非均匀需求的几种纯策略有( )。

再保险是对原保险人承担风险的第一次分摊,共同保险是对其承担风险的第二次分摊。

给出下面代码段   1) public class Test {   2) int m, n;   3) public Test() {}   4) public Test(int a) { m=a; }   5) public static void main(String arg[]) {   6) Test t1,t2;   7) int j,k;   8) j=0; k=0;   9) t1=new Test();   10) t2=new Test(j,k);   11) }   12) }   哪行将引起一个编译时错误? ()

剩余价值是( )

下列不属于面向对象编程的三个特征的是____

( )模型用来解释一些寡头市场上的价格刚性现象

进行股票投资,风险包括()。

没有进入及退出市场障碍的是( ) 。

影响利率的主要因素包括( )。

下列又称为不安抗辩权的是( )。

房地产需求价格弹性大于1,说明()。

以静脉注射为标准参比制剂求得的生物利用度

(要求问卷结构完整;内容不限;不少于10个问题;包含多种问题形式。)

“诗三百,一言以蔽之,曰思无邪。”这句话出自( ).

参与特异性细胞免疫应答的细胞组合是

某公司随着经营范围的扩大,由总经理直辖的营销队伍人员也由3人增加到100人。最近,总经理发现营销队伍有些松散,并对公司里的一些做法有异议,但又找不到确切的原因。从管理的角度看,你认为出现这种情况的最主要原因在于( )。

《尤利西斯》是以人物意识的流程为序统领无序的时间。这种叙事时间安排,仍然是错乱而有章法的,只不过不是按照物理时间或者现实时间的秩序,而是按照别的秩序的时间排列。( )

国际短期资本流动包括( )。

二阶系统,当系统幅频峰值达到最大时,相频为_____?

狭义的公共组织是指执行国家政务的政府组织。()

作业咨询:
点击这里给我发消息

论文咨询:
点击这里给我发消息

合作加盟:
点击这里给我发消息

服务时间:
8:30-24:00(工作日)

Baidu
map