欢迎来到文档下载导航网!

数据结构C语言版本第一二章练习习题答案.docx

时间:2020-11-26|当前位置:首页 > 计算机 > 计算机资料/编程 > |用户下载:

数据结构C语言版本第一二章练习习题答案.docx


本文档部分文本预览

数据结构 (C 语言版 ) 第一二章习题答案 第1章 绪论 习题 1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。 2.试举一个数据结构的例子,叙述其逻辑结 构和存储结构两方面的含义和相互关系。 3.简述逻辑结构的四种基本关系并画出它们 的关系图。 4.存储结构由哪两种基本的存储方法实现? 5.选择题 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.栈 6.试分析下面各程序段的时间复杂度。 1)x=90; y=100; while(y>0) if(x>100) {x=x-10;y--;} else x++; (2)for (i=0; i1 y=0; while(x ≥(y+1)* (y+1)) y++; 1)O(1) 2)O(m*n ) 3)O(n2) 4)O(log3n) 5)因 x++共 行了 n-1+n-2+ ??+ 1= n(n-1)/2 ,所以 行 O( n2) 6)O( n ) 第 2章 线性表 1.选择题 1)一个向量第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地址是 )。 A .  110  B .  108 C.100 D.120 (2)在 n 个结点的顺序表中,算法的时间复 杂度是 O(1) 的操作是( )。 A.访问第 i 个结点( 1≤i≤n)和求第 i 个结点的直接前驱( 2≤i≤n) B.在第 i 个结点后插入一个新结点( 1≤ i≤n) C.删除第 i 个结点( 1≤i≤n) D.将 n 个结点从小到大排序 3)向一个有 127 个元素的顺序表中插入一个新元素并保持原来顺序不变, 平均要移动 的 元素个数为()。 A.8 B.63.5 C.63 D.7 4)链接存储的存储结构所占存储空间 )。 A. 分两部分,一部分存放结点值,另一 部分存放表示结点间关系的指针 B.只有一部分,存放结点值 C.只有一部分,存储表示结点间关系的 指针 D.分两部分,一部分存放结点值,另一部分存放结点所占单元数 (5)线性表若采用链式存储结构时,要求内 存中可用存储单元的地址( )。 A.必须是连续的 B.部分地址 必须是连续的 C.一定是不连续的 D.连续或不 连续都可以 (6)线性表L在( )情况下适用于使用链式结构实现。 A.需经常修改L中的结点值 B.需 不断对L进行删除插入 C.L中含有大量的结点 D.L 中结点结构复杂 (7) 表的存 密度( )。 A.大于 1 B.等于 1  C.小 于 1D.不能确定 8)将两个各有 n 个元素的有序表 并成一 个有序表,其最少的比 次数是( )。 A.n B.2n-1 C.2n D.n-1 9)在一个 度 n 的 序表中,在第 i 个元素( 1≤i ≤n+1)之前插入一个新元素 向后移 ( )个元素。 A . n-i B . n-i+1 C.n-i-1 D.i性表 L=(a 1,a2,?? an),下列 法正确的是( )。 A.每个元素都有一个直接前 和一个直 接后 B. 性表中至少有一个元素 C.表中 元素的排列必 是由小到大或 由大到小 D.除第一个和最后一个元素外,其余每 个元素都有一个且 有一个直接前 和直接后 。 若指定有 n 个元素的向量,则建立一个 有序单链表的时间复杂性的量级是( )。 A .  O(1)  B .  O(n) C.O(n 2)  D.O(nlog 2n) (12) 以下说法错误的是( )。 A.求表长、定位这两种运算在采用顺序 存储结构时实现的效率不比采用链式存储结构时实现的效率低 B.顺序存储的线性表可以随机存取 C.由于顺序存储要求连续的存储区域, 所以在存储管理上不够灵活 D.线性表的链式存储结构优于顺序存储 结构 在单链表中,要将 s 所指结点插入到 p 所指结点之后,其语句应为( )。 A.s->next=p+1; p->next=s; B.(*p).next=s; (*s).next=(*p).next; C.s->next=p->next; p->next=s->next; D.s->next=p->next; p->next=s; 在双向链表存储结构中,删除 p 所指的 结点时须修改指针()。 A . p->next->prior=p->prior; p->prior->next=p->next; B . p->next=p->next->next; p->next->prior=p; C . p->prior->next=p; p->prior=p->prior->prior; D . p->prior=p->next->next; p->next=p->prior->prior; 在双向循环链表中,在 p 指针所指的结点后插入 q 所指向的新结点,其修改指针的操作是( )。 A . p->next=q; q->prior=p; p->next->prior=q; q->next=q; B . p->next=q; p->next->prior=q; q->prior=p; q->next=p->next; C . q->prior=p; q->next=p->next; p->next->prior=q; p->next=q; D . q->prior=p; q->next=p->next; p->next=q; p->next->prior=q; 2.算法设计题 1)将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表 的存储空间 , 不另外占用其它的存储空间。 表中不允许有重复的数据。 void  M

继续预览文档剩余内容

温馨提示:本页预览文本内容并非错乱,是从文档中提取部分无格式预览!如您需要正常预览文档全文,请点击下方按钮↓↓↓

上一篇:计算机信息管理系统情况说明.docx

栏    目:计算机资料/编程

下一篇:s3c2410按键驱动完整版.pdf

本文标题:数据结构C语言版本第一二章练习习题答案.docx

本文地址:https://www.365weibook.com/html/20201126/376839.html

    正常预览或下载提示:

    本页面文档预览是由服务器自动提取的部分内容,并不是文档错乱。如您需要预览全文或下载文档,请点击页面左侧(点击去预览文档全文或下载文档)按钮,进行全文预览或下载。

推荐下载

联系我们 | 广告投放 |网站地图

免责申明:本网站不提供任何形式的下载服务,因此与之有关的知识产权纠纷本网站不承担任何责任。

如果侵犯了您的权利,请与我们联系,我们将进行删除处理。