2022年数据结构形考作业 3.pdf
数据结构(本)形考作业 1 一、单项选择题(每小题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. 可以通过下标对链表进行直接访问名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - D. 插入删除元素的操作一定要要移动结点题目 7下列的叙述中,不属于算法特性的是()。A. 可行性B. 输入性C. 可读性D. 有穷性题目 8 算法的时间复杂度与()有关。A. 数据结构B. 所使用的计算机C. 算法本身D. 计算机的操作系统题目 9设有一个长度为n的顺序表,要在第 i 个元素之前(也就是插入元素作为新表的第i 个元素),插入一个元素,则移动元素个数为()。A. i B. n-i-1 C. n-i+1 D. n-i 题目 10 设有一个长度为n 的顺序表,要删除第i 个元素移动元素的个数为()。A. n-i B. n-i-1 C. n-i+1 D. I 题目 11 在一个单链表中,p、q 分别指向表中两个相邻的结点,且q 所指结点是p 所指结点的直接后继,现要删除q 所指结点,可用语句()。A. q-next=NULL B. p-next=q C. p-next=q-next D. p=q-next 题目 12在一个单链表中p 所指结点之后插入一个s 所指的结点时,可执行()。A. p=s-next B. p-next= s; s-next= p-next C. s-next=p-next; p-next=s; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - D. p-next=s-next; 题目 13 非空的单向循环链表的尾结点满足()(设头指针为head,指针 p 指向尾结点)。A. p=NULL B. p-next=NULL C. p= head D. p-next=head 题目 14链表不具有的特点是()。A. 插入删除不需要移动元素B. 不必事先估计存储空间C. 可随机访问任一元素D. 逻辑上相邻的元素在物理位置上不一定相邻题目 15 带头结点的链表为空的判断条件是()(设头指针为head)。A. head =NULL B. head-next=NULL C. head!=NULL D. head-next=head 题目 16 在一个长度为n 的顺序表中为了删除第5 个元素,由第6 个元素开始从后到前依次移动了15 个元素。则原顺序表的长度为()。A. 19 B. 20 C. 21 D. 25 题目 17 有关线性表的正确说法是()。A. 每个元素都有一个直接前驱和一个直接后继B. 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继C. 表中的元素必须按由小到大或由大到下排序D. 线性表至少要求一个元素题目 18 向一个有127 个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动()个元素。A. 7 B. 63.5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - C. 8 D. 63 题目 19一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第 6 个元素的地址是()。A. 106 B. 102 C. 100 D. 98 题目 20在一个不带头结点的单循环链表中,p、q 分别指向表中第一个结点和尾结点,现要删除第一个结点,且p、q 仍然分别指向新表中第一个结点和尾结点。可用的语句是p=p-next;和()。A. p=q-next B. q=p C. p-next=q D. q-next=p 二、判断题(每小题2 分,14 题,共 28 分)题目 21数据元素可以有一个或多个数据项组成。对题目 22 数据元素之间的抽象关系称为物理结构。错题目 23数据的逻辑结构在计算机中的表示称为逻辑结构。错题目 24 数据的逻辑结构是与存储该结构的计算机相关的。错题目 25数据结构中 , 元素之间存在多对多的关系称为树状结构。错题目 26 通常可以把一本含有不同章节的书的目录结构抽象成线性结构。错名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 题目 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名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 设线性表以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是输出链表中各结点中的数据域data, 完成程序中空格部分。 #define NULL 0 void main( ) NODE *head ,*p ; p=head; /*p为工作指针 */ do printf(“%dn”, p-data ; p=p-next ; while p!=NULL; 题目 36 设有一个头指针为head 的不带头结点单向链表,p、q 是指向链表中结点类型的指针变量,p 指向链表中结点a, (设链表中没有结点的数据域与结点a 的数据域相同), 写出相关语句 (1)使该单向链表成为单向循环链表 (2)插入结点s, 使它成为a 结点的直接前驱 q=p; x=p-data; while(q- next ! =NULL ) q=q-next; q-next=head; q=p; p=p-next; while(p-data!=x) q=p; p=p- next ; s-next=p; q- next=s ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -