电大数据结构(本)形考作业1-阶段性学习测验1答案

"题目1:把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为(   )。
: 逻辑结构
; 算法的具体实现
; 给相关变量分配存储单元
; 物理结构"

"题目2:下列说法中,不正确的是(   )。
: 数据元素是数据的基本单位
; 数据项可由若干个数据元素构成
; 数据项是数据中不可分割的最小可标识单位
; 数据可有若干个数据元素构成"

"题目3:一个存储结点存储一个(   )。
: 数据类型
; 数据元素
; 数据结构
; 数据项"

"题目4:数据结构中,与所使用的计算机无关的是数据的(   )。
: 物理结构
; 逻辑结构
; 存储结构
; 物理和存储结构"

"题目5:在线性表的顺序结构中,以下说法正确的是(       )。
: 数据元素是不能随机访问的
; 逻辑上相邻的元素在物理位置上也相邻
; 进行数据元素的插入、删除效率较高
; 逻辑上相邻的元素在物理位置上不一定相邻"

"题目6:对链表, 以下叙述中正确的是(     )。
: 插入删除元素的操作一定要要移动结点
; 不能随机访问任一结点
; 可以通过下标对链表进行直接访问
; 结点占用的存储空间是连续的"

"题目7:下列的叙述中,不属于算法特性的是(      )。
: 输入性
; 可读性
; 可行性
; 有穷性"

"题目8:算法的时间复杂度与(   )有关。
: 数据结构
; 计算机的操作系统
; 所使用的计算机
; 算法本身"

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

"题目10:设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为(   )。
: n-i-1
; n-i
; i
; n-i+1"

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

"题目12:在一个单链表中p所指结点之后插入一个s所指的结点时,可执行(   )。
: s->next=p->next; p->next=s;
; p->next=s->next;
; p->next= s; s->next= p->next
; p=s->next"

"题目13:非空的单向循环链表的尾结点满足(   )(设头指针为head,指针p指向尾结点)。
: p== head
; p->next==NULL
; p->next==head
; p==NULL"

"题目14:链表不具有的特点是(   )。
: 插入删除不需要移动元素
; 不必事先估计存储空间
; 逻辑上相邻的元素在物理位置上不一定相邻
; 可随机访问任一元素"

"题目15:带头结点的链表为空的判断条件是(   )(设头指针为head)。
: head->next==head
; head->next==NULL
; head!=NULL
; head ==NULL"

"题目16:在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为(   )。
: 19
; 21
; 25
; 20"

"题目17:有关线性表的正确说法是(   )。
: 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继
; 每个元素都有一个直接前驱和一个直接后继
; 表中的元素必须按由小到大或由大到下排序
; 线性表至少要求一个元素"

"题目18:向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动(   )个元素。
: 63
; 8
; 7
; 63.5"

"题目19:一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是(   )。
: 98
; 100
; 106
; 102"

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

题目21:数据元素可以有一个或多个数据项组成。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#define NULL 0

void main( )

{ NODE  *head ,*p ;

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

do

{printf(“%d\n”, [[1]];

[[2]];

}while[[3]];

}
; [[1]] -> {p->data / p=p->next / p!=NULL}"

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

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

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

q=p; x=p->data;

while [[3]])q=q->next;

q->next=head;

q=p; p=p->next;

while(p->data!=x)

{ q=p;

[[1]]

}

s->next=p;

[[2]]
; [[1]] -> {p=p->next / q->next=s / q->next!=NULL}"

答案地址

点击查看答案