电大数据结构(本)形成性考核册(作业1-4)980.pdf
《电大数据结构(本)形成性考核册(作业1-4)980.pdf》由会员分享,可在线阅读,更多相关《电大数据结构(本)形成性考核册(作业1-4)980.pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 1 数据结构(本)形成性考核作业册 使用说明 本作业册是中央广播电视大学计算机科与技术专业(本科)数据结构(本)课程形成性考核的依据,与数据结构(本科)教材(李伟生主编,中央电大出版社出版)配套使用。数据结构(本)课程是中央广播电视大学计算机科学技术专业的一门统设必修、学位课程,4 学分,共 72 学时。其中实验 24 学时,开设一学期。本课程的特点是综合性、实践性强,内容抽象,在专业中具有承上启下的作用。因此,在学习本课程时,要注意理论联系实际,结合教学内容进行上机实践,认真完成作业和实验内容。本课程的总成绩按百分制记分,其中形成性考核所占的比例为 30%,终结性考试占 70(闭卷,答题时
2、限为 90 分钟)。课程总成绩达到 60 分及以上者为合格,可以获得该课程的学分。本课程的学位课程学分为 70 分,即课程总成绩达到 70 分及以上者有资格申请专业学位。本课程共设计了 4 次形考作业,每次形考作业均包括实验内容,由各地电大根据学生对作业中各种题型练习和实验的完成情况进行考核。对于实验内容要求按实验要求认真完成,并提交实验报告。2 数据结构(本)课程作业 作业 1(本部分作业覆盖教材第 1-2 章的内容)一、单项选择题 1在数据结构中,从逻辑上可以把数据结构分为()。A动态结构和静态结构 B紧凑结构和非紧凑结构 C线性结构和非线性结构 D内部结构和外部机构 2下列说法中,不正确
3、的是()。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
4、非数值运算 C集合 D非集合 8算法的时间复杂度与()有关。A所使用的计算机 B与计算机的操作系统 C与算法本身 D与数据结构 9设有一个长度为 n 的顺序表,要在第 i 个元素之前(也就是插入元素作为新表的第 i个元素),则移动元素个数为()。An-i+1 Bn-i Cn-i-1 Di 10设有一个长度为 n 的顺序表,要删除第 i 个元素移动元素的个数为()。An-i+1 Bn-i Cn-i-1 Di 3 11在一个单链表中,p、q 分别指向表中两个相邻的结点,且 q 所指结点是 p 所指结点的直接后继,现要删除 q 所指结点,可用语句()。Ap=q-next Bp-next=q Cp-n
5、ext=qnext Dq-next=NULL 12在一个单链表中 p 所指结点之后插入一个 s 所指的结点时,可执行()。Ap-next=s;snext=pnext Bp-next=snext;Cp=s-next Ds-next=p-next;p-next=s;13非空的单向循环链表的尾结点满足()(设头指针为 head,指针 p 指向尾结点)。A.P-next=NULL BP=NULL CP-next=head DP=head 14链表不具有的特点是()。A可随机访问任一元素 B插入删除不需要移动元素 C不必事先估计存储空间 D所需空间与线性表长度成正比 15带头结点的链表为空的判断条件是(
6、)(设头指针为 head)。Ahead=NULL Bhead-next=NULL Chead-next=head Dhead!=NULL 16在一个单链表中,p、q 分别指向表中两个相邻的结点,且 q 所指结点是 p 所指结点的直接后继,现要删除 q 所指结点,可用语句()。Ap=q-next Bp-next=q Cp-next=q-next Dq-next=NULL 17 在一个链队中,假设f 和r 分别为队头和队尾指针,则删除一个结点的运算为()。Ar=f-next;Br=r-next;C f=f-next;Df=r-next;18 在一个链队中,假设f 和r 分别为队头和队尾指针,则插入
7、s 所指结点的运算为()。Af-next=s;f=s;Br-next=s;r=s;C s-next=r;r=s;Ds-next=f;f=s;19.一个顺序表第一个元素的存储地址是 90,每个元素的长度为 2,则第 6 个元素的地址是()。A 98 B100 C102 D106 20有关线性表的正确说法是()。A 每个元素都有一个直接前驱和一个直接后继 B 线性表至少要求一个元素 C 表中的元素必须按由小到大或由大到下排序 D 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继 二、填空题 1 在一个长度为 n 的顺序存储结构的线性表中,向第 i(1i n+1)个元素之前
8、插入新元素时,需向后移动 个数据元素。2 从长度为 n的采用顺序存储结构的线性表中删除第 i(1i n+1)个元素,需向前移动 个元素。4 3 数据结构按结点间的关系,可分为 4 种逻辑结构:、。4 数据的逻辑结构在计算机中的表示称为 或 。5 除了第 1个和最后一个结点外,其余结点有且只有一个前驱结点和后继结点的数据结构为 ,每个结点可有任意多个前驱和后继结点数的结构为 。6 算法的 5 个重要特性是 、。7数据结构中的数据元素存在多对多的关系称为_ _结构。8数据结构中的数据元素存在一对多的关系称为_ _结构。9数据结构中的数据元素存在一对一的关系称为_ _结构。10要求在 n 个数据元素
9、中找其中值最大的元素,设基本操作为元素间的比较。则比较的次数和算法的时间复杂度分别为_ _和 _ _。11在一个单链表中 p 所指结点之后插入一个 s 所指结点时,应执行_ _和 p-next=s;的操作。12设有一个头指针为 head 的单向循环链表,p 指向链表中的结点,若 p-next=_ _,则 p 所指结点为尾结点。13在一个单向链表中,要删除 p 所指结点,已知 q 指向 p 所指结点的前驱结点。则可以用操作_ _。14 设有一个头指针为 head 的单向链表,p 指向表中某一个结点,且有 p-next=NULL,通过操作_ _,就可使该单向链表构造成单向循环链表。15每个结点只包
10、含一个指针域的线性表叫 。16线性表具有 和 两种存储结构。17数据的逻辑结构是从逻辑关系上描述数据,它与数据的关系 无关,是独立于计算机的。18 在双向循环链表的每个结点中包含 指针域,其中next指向它的 ,prior指向它的 ,而头结点的 prior指向 ,尾结点的 next指向 。19单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为 ;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向 。20线性链表的逻辑关系时通过每个结点指针域中的指针来表示的。其逻辑顺序和物理存储顺序不再一致,而是一种 存储结构,又称为 。三、问答题
11、 1简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现?5 2解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。3什么情况下用顺序表比链表好?4头指针、头结点、第一个结点(或称首元结点)的区别是什么?5解释带头结点的单链表和不带头结点的单链表的区别。6 四、程序填空题 1下列是用尾插法建立带头结点的且有 n 个结点的单向链表的算法,请在空格内填上适当的语句。NODE*create1(n)/*对线性表(1,2,.,n),建立带头结点的单向链表*/NODE*head,*p,*q;int i;p=(NODE*)malloc(sizeof(NODE);
12、head=p;q=p;p-next=NULL;for(i=1;inext=NULL;(2);for(i=1;idata=i;if(i=1)(3);else(4);(5);return(head);7 3下列是在具有头结点单向列表中删除第 i 个结点,请在空格内填上适当的语句。int delete(NODE*head,int i)NODE*p,*q;int j;q=head;j=0;while(q!=NULL)&(jnext;j+;if(q=NULL)return(0);(1);(2);free(p);return(1);五、完成:实验 1线性表 根据实验要求(见教材P201-202)认真完成本
13、实验,并提交实验报告。8 数据结构(本)课程作业 2(本部分作业覆盖教材第 3-5 章的内容)一、单项选择题 1若让元素 1,2,3 依次进栈,则出栈顺序不可能为()。A3,2,1 B2,1,3 C3,1,2 D1,3,2 2一个队列的入队序列是 1,2,3,4。则队列的输出序列是()。A4,3,2,1 B1,2,3,4 C1,4,3,2 D3,2,4,1 3向顺序栈中压入新元素时,应当()。A 先移动栈顶指针,再存入元素 B先存入元素,再移动栈顶指针 C 先后次序无关紧要 D同时进行 4在一个栈顶指针为 top 的链栈中,将一个 p 指针所指的结点入栈,应执行()。A top-next=p;
14、B p-next=top-next;top-next=p;C p-next=top;top=p;D p-next=top-next;top=top-next;5在一个栈顶指针为 top 的链栈中删除一个结点时,用 x 保存被删结点的值,则执行()。A x=top;top=top-next;B x=top-data;C top=top-next;x=top-data;D x=top-data;top=top-next;6一般情况下,将递归算法转换成等价的非递归算法应该设置()。A栈 B队列 C堆栈或队列 D数组 7表达式 a*(b+c)-d的后缀表达式是()。Aabcd*+-Babc+*d-Ca
15、bc*+d-D-+*abcd 8判断一个顺序队列 sq(最多元素为 m0)为空的条件是()。Asq-rear-sq-front=m0 Bsq-rear-sq-front-1=m0 Csq-front=sq-rear Dsq-front=sq-rear+1 9判断一个循环队列 Q(最多元素为 m0)为空的条件是()。AQ-front=Q-rear BQ-front!=Q-rear CQ-front=(Q-rear+1)%m0 DQ-front!=(Q-rear+1)%m0 9 10判断一个循环队列 Q(最多元素为 m0)为空的条件是()。AQ-front=Q-rear BQ-front!=Q-r
16、ear CQ-front=(Q-rear+1)%m0 DQ-front!=(Q-rear+1)%m0 11判断栈 S 满(元素个数最多 n 个)的条件是()。As-top=0 Bs-top!=0 Cs-top=n-1 Ds-top!=n-1 12一个队列的入队顺序是 a,b,c,d,则离队的顺序是()。Aa,d,cb Ba,b,c,d Cd,c,b,a Dc,b,d,a 13如果以链表作为栈的存储结构,则退栈操作时()。A必须判断栈是否满 B判断栈元素类型 C必须判断栈是否空 D对栈不作任何判断 14在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次
17、写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个()结构。A 堆栈 B队列 C数组 D先性表 15一个递归算法必须包括()。A递归部分 B终止条件和递归部分 C迭代部分 D终止条件和迭代部分 16从一个栈顶指针为 top的链栈中删除一个结点时,用变量 x 保存被删结点的值,则执行()。Ax=top-data;top=top-next;Bx=top-data;C top=top-next;x=top-data;Dtop=top-next;x=data;17 在一个链队中,假设 f 和 r 分别为队头和队尾指针,则删除一个结点的运算为()。Ar=f-next;Br=r-next;
18、Cf=f-next;Df=r-next;18 在一个链队中,假设 f 和 r 分别为队头和队尾指针,则插入 s 所指结点的运算为()。Af-next=s;f=s;Br-next=s;r=s;C s-next=r;r=s;Ds-next=f;f=s;19.以下陈述中正确的是()。A 串是一种特殊的线性表 B串的长度必须大于零 C 串中元素只能是字母 D空串就是空白串 20 设有两个串 p 和 q,其中 q 是 p 的子串,q 在 p 中首次出现的位置的算法称为()。A 求子串 B连接 C匹配 D求串长 10 21串是()。A不少于一个字母的序列 B任意个字母的序列 C不少于一个字符的序列 D有限
19、个字符的序列 22串的长度是指()。A 串中所含不同字母的个数 B串中所含字符的个数 C 串中所含不同字符的个数 D串中所含非空格字符的个数 23.若串 S=“English”,其子串的个数是()。A 9 B16 C 36 D28 24下面关于串的叙述中,不正确的是()。A 串是字符的有限序列 B 空串是由空格构成的串 C 模式匹配是串的一种重要运算 D 串即可以采用顺序存储,也可以采用链式存储 25串与普通的线性表相比较,它的特殊性体现在()。A 顺序的存储结构 B链接的存储结构 C 数据元素是一个字符 D数据元素可以任意 26空串与空格串()。A 相同 B不相同 C可能相同 D无法确定 2
20、7两个字符串相等的条件是()。A两串的长度相等 B 两串包含的字符相同 C两串的长度相等,并且两串包含的字符相同 D两串的长度相等,并且对应位置上的字符相同 28在实际应用中,要输入多个字符串,且长度无法预定。则应该采用()存储比较合适()。A 链式 B 顺序 C 堆结构 D无法确定 29.一维数组 A 采用顺序存储结构,每个元素占用 6 个字节,第 6 个元素的存储地址为100,则该数组的首地址是()。A 64 B28 C 70 D90 30稀疏矩阵采用压缩存储的目的主要是()。A 表达变得简单 B对矩阵元素的存取变得简单 C去掉矩阵中的多余元素 D减少不必要的存储空间的开销 31一个非空广
21、义表的表头()。11 A不可能是原子 B只能是子表 C只能是原子 D可以是子表或原子 32常对数组进行的两种基本操作是()。A 建立与删除 B索引与、和修改 C 查找和修改 D查找与索引 33.设二维数组 A56按行优先顺序存储在内存中,已知 A00 起始地址为 1000,每个数组元素占用 5 个存储单元,则元素 A44的地址为()。A 1140 B1145 C 1120 D1125 34设有一个 20 阶的对称矩阵 A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组 B中(数组下标从 1开始),则矩阵中元素 a9,2在一维数组 B 中的下标是()。A 41 B32 C18 D3
22、8 35一个非空广义表的表头()。A 不可能是子表 B只能是子表 C 只能是原子 D可以是子表或原子 二、填空题 1栈是限定在表的一端进行插入和删除操作的线性表,又称为 。2队列的特性是 。3往栈中插入元素的操作方式是:先 ,后 。4删除栈中元素的操作方式是:先 ,后 。5循环队列队头指针在队尾指针 位置,队列是“满”状态 6在队列的顺序存储结构中,当插入一个新的队列元素时,尾指针 ,当删除一个元素队列时,头指针 。7循环队列的引入,目的是为了克服 。8向顺序栈插入新元素分为三步:第一步进行 判断,判断条件是 ;第二步是修改 ;第三步是把新元素赋给 。同样从顺序栈删除元素分为三步:第一步进行
23、判断,判断条件是 。第二步是把 ;第三步 。9假设以 S 和 X 分别表示入栈和出栈操作,则对输入序列 a,b,c,d,e 一系列栈操作SSXSXSSXXX 之后,得到的输出序列为 。10一个递归算法必须包括 和 。11判断一个循环队列 LU(最多元素为 m0)为空的条件是 。12在将中缀表达式转换成后缀表达式和计算后缀表达式的算法中,都需要使用栈,对于前者,进入栈中的元素为表达式中的 ,而对于后者,进入栈的元素为 ,中缀表达式(a+b)/c-(f-d/c)所对应的后缀表达式是 。16 向一个栈顶指针为 h 的链栈中插入一个 s 所指结点时,可执行_和 h=s;操作。(结点的指针域为 next
24、)12 17从一个栈顶指针为 h 的链栈中删除一个结点时,用 x 保存被删结点的值,可执行x=h-data;和_。(结点的指针域为 next)18 在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为_和 r=s;(结点的指针域为 next)19 在一个链队中,设 f 和 r 分别为队头和队尾指针,则删除一个结点的操作为_。(结点的指针域为 next)20串是一种特殊的线性表,其特殊性表现在组成串的数据元素都是 。21串的两种最基本的存储方式是 和 。22空串的长度是 ;空格串的长度是 。23需要压缩存储的矩阵可分为 矩阵和 矩阵两种。24设广义表 L=(),(),则表头是 ,
25、表尾是 ,L 的长度是 。25广义表 A(a,b,c),(d,e,f))的表尾为 。26两个串相等的充分必要条件是_ _。27设有 n 阶对称矩阵 A,用数组 s 进行压缩存储,当 ij 时,A 的数组元素 aij相应于数组 s 的数组元素的下标为_ _。(数组元素的下标从 1 开始)28对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的_、_和_三项信息。三、问答题 1简述栈和一般线性表的区别。2简述队列和一般线性表的区别。3链栈中为何不设头结点?4利用一个栈,则:(1)如果输入序列由 A,B,C 组成,试给出全部可能的输出序列和不可能的输出序 13 列。(2)如果输入序列由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电大 数据结构 形成 考核 作业 980
限制150内