ImageVerifierCode 换一换
格式:DOCX , 页数:125 ,大小:380.62KB ,
资源ID:21653447      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21653447.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构复习Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构复习Word文档下载推荐.docx

1、(B) 数据项之间逻辑(C) 数据类型之间(D) 存储结构4、在链式存储结构中,一个存储结点存储一个_。(A) 数据项(B) 数据元素(C) 数据结构(D) 数据类型5、数据结构在计算机内存中的表示是指_。(A) 数据的存储结构(B) 数据结构(C) 数据的逻辑结构(D) 数据元素之间的关系6、在数据结构中,与所使用的计算机无关的是_。(A) 逻辑结构(B) 存储结构(C) 逻辑结构和存储结构(D) 物理结构7、数据采用链式存储结构时,要求_。(A) 每个结点占用一片连续的存储区域(B) 所有结点占用一片连续的存储区域(C) 结点的最后一个数据域是指针类型(D) 每个结点有多少个后继,就设多少

2、个指针域8、算法的时间复杂度与_有关。(A) 问题规模(B) 计算机硬件性能(C) 编译程序质量(D) 程序设计语言9、算法分析的目的是_。(A) 找出数据结构的合理性(B) 研究算法中输入与输出的关系(C) 分析算法的效率以求改进(D) 分析算法的易读性和文档性10、某算法的时间复杂度为O(n2),表明该算法的_。(A) 问题的规模是n2(B) 执行时间等于n2(C) 执行时间与n2成正比(D) 问题规模与n2成正比11、在数据结构中,与所使用的计算机无关的是数据的_结构。(A) 逻辑 (B) 存储 (C) 逻辑和存储 (D) 物理12、在数据的存储结构中,一个存储结点存储一个_。(A) 数

3、据项 (B) 数据元素 (C) 数据结构 (D) 数据类型 13、在数据结构中,与所使用的计算机无关的是_。(A)逻辑结构 (B)存储结构(C)物理结构 (D)逻辑结构与存储结构判断题:1、数据结构包含数据的逻辑结构、数据的存储结构以及数据集合上定义的运算。2、数据项是数据的最小单位。3、数据项是数据的最小单位。4、数据结构包含数据的逻辑结构、数据的存储结构以及数据集合上定义的运算。5、数据的物理结构是指数据在计算机内实际的存储形式。6、算法的优劣与算法描述语言无关,但与所用计算机有关。应用题与算法设计题部分:例题:设计一个算法,求整数数组的最大元素。解:算法如下:void MaxElem(i

4、nt a , int n, int &maxE) int k; maxE=a0;for(k=0;kn;k+) if(maxEak) minE=ak;编写一个算法,求一个整数数组中的最大元素和最小元素,并指出该算法的时间复杂度。对应的算法如下:void MaxMin(int a,int n, int &max, int &min)/该算法求数组a0.n-1的最大元素max和最小元素min。 max=min=a0;for(int i=1imax) max=aielse if(aia1) max1=a0max2=a1else max1=a1; max2=a0;for(int i=2;=n-1;max

5、1)max2=max1; max1=ai;else if(aimax2) max2=ai;编写一个算法,求一个整数数组中的最小元素和次小元素,并指出该算法的时间复杂度。void Min12(int a, int n, int &min1, int &min2)/该算法求数组a0n-1的最小元素min1和次小元素min2。 if(a0a1) min1=a0; min2=a1;else min1=a1;min2=a0;if(aimin1) min2=min1;min1=ai;min2) min2=ai;用C/C+语言描述下列算法,并给出算法的时间复杂度。(1)求一个n阶方阵的所有元素之和。(2)对

6、于输入的任意三个整数,将它们按照从小到大的顺序输出。(3)对于输入的任意n个整数,输出其中的最大和最小元素。(1)算法如下:int sum(int Ann, int n) int i, j, s=0;for(i=0;for(j=0;jb) if(bc) coutcbelse coutac;else if(ca) coutb; else if(cb) cout else coutmax) max=ak; else if(akmin) min=ak;本算法的时间复杂度为O(n)。设n是3的倍数,分析以下算法的时间复杂度(需给出推导过程)。void fun(int n) int i, j, x, y

7、; for(i=0; i=n; if(3*i=n) for(j=3*i; jnext=p (B) p-next-next=p-next(C) p-next=p (D) p-8、在一个长度为n的线性表中顺序查找值为x的元素时,在等概率情况下,查找成功时的平均查找长度为_。(A) n (B) n/2 (C) (n+1)/2 (D) (n-1)/29、在一个长度为n的顺序表中,删除值为x的元素时需要比较元素和移动元素的总次数是_。(A) (n+1)/2 (B) n/2 (C) n (D) n+110、在一个顺序表的表尾插入一个元素的时间复杂度是_。(A) O(n) (B) O(1) (C) O(n2

8、) (D) O(log2n)11、在一个顺序表的任何位置插入一个元素的时间复杂度是_。12、在一个不带头结点(首结点为*head)的单循环链表中,至少有一个结点的条件是_。(A) head!=NULL (B) head-next!=NULL(C) head=NULL (D) head-next=NULL13、在带头结点*head的循环单链表中,至少有一个结点的条件是_。(A) head-=head(C) head=NULL (D) head-(C) head-next=head (D) head!15、将两个长度为n的有序表归并为一有序表时,算法的时间复杂度是_。(A) O(1) (B) O(

9、n) (C) O(n2) (D) O(log2n)16、在长度为n的顺序表,当在任何位置上插入一个元素的概率相等时,插入一个元素需要移动的元素的平均个数为( ) (A) n/2 (B)(n-1)/ 2 (C) (n+1)/2 (D) (n+2)/217、在长度为n的顺序表中,删除第i个元素(1in)需要向后移动( )个元素。 (A) n-i (B) n-i+1 (C) n-i-1 (D) i18、一个栈的入栈顺序是1、2、3、4、5,则此栈不可能的输出顺序为( )。(A) 5、4、3、2、1 (B) 4、5、3、2、1 (C) 4、3、5、1、2 (D)1、2、3、4、519、一个队列的入队序

10、列是a,b,c,d,则队列的输出序列是( )。(A)dcba (B)abcd (C)adcb (D)cbda20、空串是指( )。 (A)空白串 (B)长度为零的串 (C)长度为1的串 (D)仅由空格组成的串21、在链式存储结构中,一个存储结点存储一个_。(A) 数据项 (B) 数据元素 (C) 数据结构 (D) 数据类型22、算法分析的目的是_。(A) 找出数据结构的合理性 (B)研究算法中输入和输出的关系(C)分析算法的效率以求改进 (D)分析算法的易读性和文档性23、一个队列的入队序列是abcd,则队列的输出序列是_。24、在表长为n的顺序表上做插入运算,平均要移动的结点数为( )。 (

11、A)n (B) n/2 (C) n/3 (D) n/425、在双链表某结点(己知其地址)前,插入一新结点,其所需时间是( )。 (A)O(1) (B) O(lgn) (C) O(n) (D) O(n2)26、设长度为n的链队列用单循环链表表示,若只设头指针,则出队操作的时间复杂度为( )。 (A) O(1) (B) O(lgn) (C) O(n) D O(n2)27、在表长为n的顺序表上做删除运算,在等概率的情况下,平均要移动的结点数为( )。 (A)n/2 (B) (n-1)/2 (C) n/3 (D) n/428、线性表( a1,a2,an)以链接方式存储时,访问第i位置元素的时间复杂性为

12、( )(A)O(i) (B)O(1) (C)O(n) (D)O(n/2)29、线性表的下列存储结构中,读取指定序号的元素花费的时间最少的是_。(A)单链表 (B)顺序表 (C)双链表 (D)循环链表30、线性表采用链式存储结构时,其地址_。(C) 部分地址必须是连续的 (D) 连续与否均可31、在线性表的下列存储结构中,读取指定序号的元素花费时间最少的是_。(A) 单链表 (B) 双链表 (C)循环链表 (D)顺序表32、 若某线性表中最常用的操作是提取第i个元素及找第i个元素的前驱元素,则采用( )存储方式最省时间。(A)单链表 (B)双链表 (C)单向循环链表 (D)顺序表33、在长度为n

13、的顺序表中,向第i个元素(1in+1)前插入一个元素需要向后移动( )个元素。34、在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行( )。(A) q-next; p-next=q; (B) p-next=q- q=p; q- (D) p-nxet=p;35、在表长为n的顺序表上做插入运算,平均要移动的结点数为( )。36、在双链表某结点(己知其地址)前,插入一新结点,其所需时间是( )。37、在长度为n的顺序表中,当在任何位置插入一个元素的概率相等时,插入一个元素需要移动的元素的平均个数是_。(A)n/2 (B) (n-1)/2 (C) (n+1)/2 (D

14、)(n+2)/238、 若某线性表中最常用的操作是提取第i个元素及找第i个元素的前驱元素,则采用( )存储方式最省时间。49、在长度为n的顺序表中,向第i个元素(1in+1)前插入一个元素需要向后移动( )个元素。40、在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行( )。1、顺序查找方法只能在顺序存储结构上进行。2、线性表的顺序存储结构优于链式存储结构。3、对于单链表来说,只有从头结点开始才能扫描表中全部结点。4、对于单链表来说,只有从头结点开始才能扫描表中全部结点。5、双向链表的特点是很容易找任何一个结点的前趋和后继。6、线性表的顺序存储结构优于链式存储

15、结构。7、凡是为空的单链表都是不含任何结点的。8、向顺序表中插入一个元素,平均要移动大约一半的元素。9. 线性表采用链表方式和顺序表方式存储,执行插入和删除运算的时间复杂度都是O(n),因而两种存储方式的插入、删除运算所花费的时间相同。10、线性表采用链表方式和顺序表方式存储,执行插入和删除运算的时间复杂度都是O(n),因而两种存储方式的插入、删除运算所花费的时间相同。11、线性表采用链式存储时,结点和结点内部的存储空间可以是不连续的。12、单链表中的头结点就是单链表的第一个结点。13、在带头结点的单循环链表中,任何一个结点的后继结点的指针均非空。14、线性表采用链表方式和顺序表方式存储,执行

16、插入和删除运算的时间复杂度都相同。15、分配给单链表的内存单元地址必须是连续的。16、双向链表的特点是很容易找任何一个结点的前趋和后继。17、线性表的顺序存储结构优于链式存储结构。18、对于单链表来说,只有从头结点开始才能扫描表中全部结点。19、线性表就是顺序表。20、线性表采用链表方式和顺序表方式存储,执行插入和删除运算的时间复杂度都是O(n),因而两种存储方式的插入、删除运算所花费的时间相同。21、在带头结点的单循环链表中,任一结点的后继指针均非空。22、线性表采用链表方式和顺序表方式存储,执行插入和删除运算的时间复杂度都是O(n),因而两种存储方式的插入、删除运算所花费的时间相同。23、

17、在带头结点的单循环链表中,任一结点的后继指针均非空。24、线性表采用链式存储时,结点和结点内部的存储空间可以是不连续的。填空题:1、单链表是 的链接存储表示。2、在有n个元素的顺序表中删除任意一个元素所需移动结点的平均次数是 。3、在双链表中,每个结点有两个指针域,一个指向 另一个指向 。4、在带有头结点的单链表L中,第一个元素结点的指针是 例题、叙述线性表的两种存储结构各自的主要特点。答:线性表的两种存储结构分别是顺序存储结构和链式存储结构。顺序存储结构的主要特点是:(1)结点中只有自身的信息域,没有关联信息域。因此,顺序存储结构的存储密度大、存储空间利用率高。(2)通过计算地址直接访问任何

18、数据元素,即可以随机访问。(3)插入和删除操作会引起大量元素的移动。链式存储结构的主要特点是:(1)结点除自身的信息域外,还有表示关联信息的指针域。因此,链式存储结构的存储密度小、存储空间利用率低。(2)在逻辑上相邻的结点在物理上不必相邻,因此,不可以随机存取,只能顺序存取。(3)插入和删除操作方便灵活,不必移动结点只需修改结点中的指针域即可。例题、已知顺序表L,请设计一算法,在L的第i个位置插入x。存储结构如下:typedef struct SqList ElemType *elem;int length;int listsize;SqList;在顺序表L的第i个位置(下标为i-1)上插入x的算法如下:void InsertSqList(SqList &L, int i, ElemType x)ElemType *p, *q;if(iL.length) return; /插入位置不合法。p=&L.elemi-1; q=&L.elemL.length-1;while(q=p) *(q+1)=*q; q-;后移*p=x;/插入L.length+;例题、已知顺序表L,请设计一个算法,删除L中所有值为x的结点。void DeleteAllx(SqList &L, ElemType x) int num=0;int i, j;i=0; j=0;while(j=0 & xL.elem

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1