数据结构(本)形考作业1答案.doc
(128 KB, 下载次数: 53, 售价: 3.00 元)
一、单项选择题(每小题3分,共60分) 题目1 把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为( )。 选择一项: A. 物理结构 B. 算法的具体实现 C. 逻辑结构 D. 给相关变量分配存储单元 题目2 下列说法中,不正确的是( )。 选择一项: A. 数据元素是数据的基本单位 B. 数据可有若干个数据元素构成 C. 数据项可由若干个数据元素构成 D. 数据项是数据中不可分割的最小可标识单位 题目3 一个存储结点存储一个( )。 选择一项: A. 数据类型 B. 数据结构 C. 数据项 D. 数据元素 题目4 数据结构中,与所使用的计算机无关的是数据的( )。 选择一项: A. 物理结构 B. 物理和存储结构 C. 存储结构 D. 逻辑结构 题目5 在线性表的顺序结构中,以下说法正确的是( )。 选择一项: A. 逻辑上相邻的元素在物理位置上也相邻 B. 数据元素是不能随机访问的 C. 逻辑上相邻的元素在物理位置上不一定相邻 D. 进行数据元素的插入、删除效率较高 题目6 对链表, 以下叙述中正确的是( )。 选择一项: A. 可以通过下标对链表进行直接访问 B. 插入删除元素的操作一定要要移动结点 C. 不能随机访问任一结点 D. 结点占用的存储空间是连续的 题目7 下列的叙述中,不属于算法特性的是( )。 选择一项: A. 可行性 B. 有穷性 C. 可读性 D. 输入性 题目8 算法的时间复杂度与( )有关。 选择一项: A. 所使用的计算机 B. 计算机的操作系统 C. 算法本身 D. 数据结构 题目9 设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为( )。 选择一项: A. n-i+1 B. i C. n-i D. n-i-1 题目10 设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为( )。 选择一项: A. i B. n-i-1 C. n-i+1 D. n-i 题目11 在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句( )。 选择一项: A. p->next=q B. p=q->next C. q->next=NULL D. p->next=q->next 题目12 在一个单链表中p所指结点之后插入一个s所指的结点时,可执行( )。 选择一项: A. p->next= s; s->next= p->next B. s->next=p->next; p->next=s; C. p=s->next D. p->next=s->next; 题目13 非空的单向循环链表的尾结点满足( )(设头指针为head,指针p指向尾结点)。 选择一项: A. p->next==head B. p== head C. p->next==NULL D. p==NULL 题目14 链表不具有的特点是( )。 选择一项: A. 不必事先估计存储空间 B. 逻辑上相邻的元素在物理位置上不一定相邻 C. 插入删除不需要移动元素 D. 可随机访问任一元素 题目15 带头结点的链表为空的判断条件是( )(设头指针为head)。 选择一项: A. head ==NULL B. head->next==head C. head->next==NULL D. head!=NULL 题目16 在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为( )。 选择一项: A. 21 B. 19 C. 20 D. 25 题目17 有关线性表的正确说法是( )。 选择一项: A. 表中的元素必须按由小到大或由大到下排序 B. 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继 C. 线性表至少要求一个元素 D. 每个元素都有一个直接前驱和一个直接后继 题目18 向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动( )个元素。 选择一项: A. 8 B. 7 C. 63 D. 63.5 题目19 一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是( )。 选择一项: A. 106 B. 100 C. 102 D. 98 题目20 在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,且p、q仍然分别指向新表中第一个结点和尾结点。可用的语句是p=p->next;和( )。 选择一项: A. p=q->next B. q->next=p C. p->next=q D. q=p 二、判断题( 每小题2分,14题,共28分) 题目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;。 选择一项: 对 错 三、程序填空题(每小题6分,共12分。请点击正确选项,然后拖拽至相应的方框上) 题目35 设线性表以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是输出链表中各结点中的数据域data,完成程序中空格部分。 #define NULL 0 void main( ) { NODE *head ,*p ; p=head; /*p为工作指针*/ do {printf(“%d\n”, 空白 ; 空白 ; }while 空白 ; } p‑>datap=p‑>next p!=NULL 题目36 设有一个头指针为head的不带头结点单向链表,p、q是指向链表中结点类型的指针变量,p指向链表中结点a, (设链表中没有结点的数据域与结点a的数据域相同),写出相关语句 (1)使该单向链表成为单向循环链表 (2)插入结点s,使它成为a结点的直接前驱 q=p; x=p->data; while 空白 )q=q->next; q->next=head; q=p; p=p->next; while(p->data!=x) { q=p; 空白 } s->next=p; 空白 p=p‑>nextq‑>next=sq‑>next!=NULL
|