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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构习题集1Word文档格式.docx

1、二、判断题 1.数据的机内表示称为数据的存储结构。( )2.算法就是程序。3.数据元素是数据的最小单位。4.算法的五个特性为:有穷性、输入、输出、完成性和确定性。5.算法的时间复杂度取决于问题的规模和待处理数据的初态。三、填空题 1.数据逻辑结构包括_、_、_和_四种类型,其中树形结构和图形结构合称为_。2.在线性结构中,第一个结点_前驱结点,其余每个结点有且只有_个前驱结点;最后一个结点_后续结点,其余每个结点有且只有_个后续结点。3.在树形结构中,树根结点没有_结点,其余每个结点有且只有_个前驱结点;叶子结点没有_结点,其余每个结点的后续结点可以_。4.在图形结构中,每个结点的前驱结点数和

2、后续结点数可以_。5.线性结构中元素之间存在_关系,树形结构中元素之间存在_关系,图形结构中元素之间存在_关系。6.算法的五个重要特性是_、_、_、_、_。7.数据结构的三要素是指_、_和_。8.链式存储结构与顺序存储结构相比较,主要优点是_。9.设有一批数据元素,为了最快的存储某元素,数据结构宜用_结构,为了方便插入一个元素,数据结构宜用_结构。四、算法分析题 1.求下列算法段的语句频度及时间复杂度for(i=1; i=n; i+)for(j =1; j =i ; j+)x=x+1;分析:该算法为一个二重循环,执行次数为内、外循环次数相乘,但内循环次数不固定,与外循环有关,因些,时间频度T(

3、n)=1+2+3+n=n*(n+1)/2有 1/4T(n)/n21,故它的时间复杂度为(n2), 即(n)与n2 数量级相同。2.分析下列算法段的时间频度及时间复杂度for (i=1;ii+) for (j=1;j=i;j+) for ( k=1;knext=p;p-next=s; Bs-next=p-next;Cs-p=s; Dp-s-5.在一个单链表中,若删除p所指结点的后续结点,则执行( )。Ap-next- Bp=p- p-Cp- Dp=p-6.下列有关线性表的叙述中,正确的是( )。A线性表中的元素之间隔是线性关系B线性表中至少有一个元素C线性表中任何一个元素有且仅有一个直接前趋D线

4、性表中任何一个元素有且仅有一个直接后继7.线性表是具有n个( )的有限序列(n0)。A表元素 B字符 C数据元素 D数据项1.线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。2.如果没有提供指针类型的语言,就无法构造链式结构。3.线性结构的特点是只有一个结点没有前驱,只有一个结点没有后继,其余的结点只有一个前驱和后继。4.语句p=p-next完成了指针负值并使p指针得到了p指针所指后继结点的数据域值。5.要想删除p指针的后继结点,我们应该执行q=p-next ;next=q-next; free(q)。三、填空题1.已知P为单链表中的非首尾结点,在P结点后插入S结点的语句为:_。2.顺

5、序表中逻辑上相邻的元素物理位置( )相邻, 单链表中逻辑上相邻的元素物理位置_相邻。3.线性表L(a1,a2,.,an)采用顺序存储,假定在不同的n1个位置上插入的概率相同,则插入一个新元素平均需要移动的元素个数是_。4.在非空双向循环链表中,在结点q的前面插入结点p的过程如下:prior=q-prior;q-prior-next=q;_;5.已知L是无表头结点的单链表,是从下列提供的答案中选择合适的语句序列,实现:表尾插入s结点的语句序列是_。 Bp=L;CL=s;next=s-Es- Fs-next=L;Gs-next=null; Hwhile(p-next!=0) p=p-Iwhile(

6、p-=null) p=p-四、算法设计题1.试编写一个求已知单链表的数据域的平均值的函数(数据域数据类型为整型)。2.已知带有头结点的循环链表中头指针为head,试写出删除并释放数据域值为x的所有结点的c函数。3.某百货公司仓库中有一批电视机,按其价格从低到高的次序构成一个循环链表,每个结点有价格、数量和链指针三个域。现出库(销售)m台价格为h的电视机,试编写算法修改原链表。4.某百货公司仓库中有一批电视机,按其价格从低到高的次序构成一个循环链表,每个结点有价格、数量和链指针三个域。现新到m台价格为h的电视机,试编写算法修改原链表。5.线性表中的元素值按递增有序排列,针对顺序表和循环链表两种不

7、同的存储方式,分别编写C函数删除线性表中值介于a与b(ab)之间的元素。6.设A=(a0,a1,a2,.,an-1),B=(b0,b1,b2,.,bm-1)是两个给定的线性表,它们的结点个数分别是n和m,且结点值均是整数。若n=m,且 ai= bi (0in ),则A=B;若nm ,且ai=bi (0in ),则AB;若存在一个j, jm ,jn ,且ai=bi (0ij ), 若ajbj,则AB。试编写一个比较A和B的C函数,该函数返回 -1或 0或 1,分别表示 A7.试编写算法,删除双向循环链表中第k个结点。8.线性表由前后两部分性质不同的元素组成(a0,a1,.,an-1,b0,b1,

8、.,bm-1),m和n为两部分元素的个数,若线性表分别采用数组和链表两种方式存储,编写算法将两部分元素换位成(b0,b1,.,bm-1,a0,a1,.,an-1),分析两种存储方式下算法的时间和空间复杂度。9.用循环链表作线性表(a0,a1,.,an-1)和(b0,b1,.,bm-1)的存储结构,头指针分别为ah和bh,设计C函数,把两个线性表合并成形如(a0,b0,a1,b1,)的线性表,要求不开辟新的动态空间,利用原来循环链表的结点完成合并操作,结构仍为循环链表,头指针为head,并分析算法的时间复杂度。10.试写出将一个线性表分解为两个带有头结点的循环链表,并将两个循环链表的长度放在各自

9、的头结点的数据域中的C函数。其中,线性表中序号为偶数的元素分解到第一个循环链表中,序号为奇数的元素分解到第二个循环链表中。11.试写出把线性链表改为循环链表的C函数。12.己知非空线性链表中x结点的直接前驱结点为y,试写出删除x结点的C函数。第三章 栈和队列1.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( )。Aedcba Bdecba Cdceab Dabcde2.栈结构通常采用的两种存储结构是( )。A线性存储结构和链表存储结构 B散列方式和索引方式C链表存储结构和数组 D线性存储结构和非线性存储结构3.判定一个栈ST(最多元素为m0)为空的条件是( )。AST-top

10、!=0 BST-top=0CST-top!=m0 DST-top=m04.判定一个栈ST(最多元素为m0)为栈满的条件是( )。AST-top!=0 BST-top=0CST-=m0-1 DST-top=m0-15.一个队列的入列序列是1,2,3,4,则队列的输出序列是( )。A4,3,2,1 B1,2,3,4 C1,4,3,2 D3,2,4,16.循环队列用数组A0,m-1存放其元素值,已知其头尾指针分别是front和rear则当前队列中的元素个数是( )。A(rear-front+m)%m Brear-front+1 Crear-front-1 Drear-front7.栈和队列的共同点是

11、( )A都是先进后出 B都是先进先出C只允许在端点处插入和删除元素 D没有共同点8.表达式a*(b+c)-d的后缀表达式是( )。Aabcd*+- Babc+*d- Cabc*+d- D-+*abcd9.4个元素a1,a2,a3和a4依次通过一个栈,在a4进栈前,栈的状态,则不可能的出栈序是( )。Aa4,a3,a2,a1 Ba3,a2,a4,a1Ca3,a1,a4,a2 Da3,a4,a2,a110.以数组Q0.m1存放循环队列中的元素,变量rear和qulen分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是( )。Arearqulen Brearqul

12、enmCmqulen D1(rearmqulen)%m二、填空题1.栈的特点是_,队列的特点是_。2.线性表、栈和队列都是_结构,可以在线性表的_位置插入和删除元素,对于栈只能在_插入和删除元素,对于队列只能在_插入元素和_删除元素。3.一个栈的输入序列是12345,则栈有输出序列12345是_。(正确/错误)4.设栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1则栈S至少应该容纳_个元素。三、算法设计题 1.假设有两个栈s1和s2共享一个数组stackM,其中一个栈底设在

13、stack0处,另一个栈底设在stackM-1处。试编写对任一栈作进栈和出栈运算的C函数push(x,i)和pop(i),i=l,2。其中i=1表示左边的栈,,i=2表示右边的栈。要求在整个数组元素都被占用时才产生溢出。2利用两个栈s1,s2模拟一个队列时,如何用栈的运算来实现该队列的运算?写出模拟队列的插入和删除的C函数。一个栈s1用于插入元素,另一个栈s2用于删除元素。第四章 串1.下列关于串的叙述中,正确的是( )A一个串的字符个数即该串的长度 B一个串的长度至少是1C空串是由一个空格字符组成的串 D两个串S1和S2若长度相同,则这两个串相等2.字符串abaaabab的nextval值为

14、( )A(0,1,01,1,0,4,1,0,1) B(0,1,0,0,0,0,2,1,0,1)C(0,1,0,1,0,0,0,1,1) D(0,1,0,1,0,1,0,1,1)3.字符串满足下式,其中head和tail的定义同广义表类似,如head(xyz)=x,tail(xyz)= yz,则s=( )。concat(head(tail(s),head(tail(tail(s)= dc。Aabcd Bacbd Cacdb Dadcb4.串是一种特殊的线性表,其特殊性表现在( )A可以顺序存储B数据元素是一个字符C可以链式存储D数据元素可以是多个字符5设串S1=ABCDEFG,s2=PQRST,

15、函数CONCAT(X,Y)返回X和Y串的连接串,SUBSTR(S,I,J)返回串S从序号I开始的J个字符组成的字串,LENGTH(S)返回串S的长度,则CONCAT(SUBSTR(S1,2,LENGTH(S2),SUBSTR(S1,LENGTH(S2),2)的结果串是( )。ABCDEF BBCDEFG CBCPQRST DBCDEFEF二、算法设计1.分别在顺序存储和一般链接存储两种方式下,用C语言写出实现把串s1复制到串s2的串复制函数strcpy(s1,s2)。2.在一般链接存储(一个结点存放一个字符)方式下,写出采用简单算法实现串的模式匹配的C语言函数int L_index(t,p)。

16、第五章 数组与广义表1常对数组进行的两种基本操作是( )A建立与删除 B索引和修改 C查找和修改 D查找与索引2.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M35的起始地址与M按列存储时元素( )的起始地址相同。AM24 BM34 CM35 DM443.数组A810中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是( )。A80 B100 C240 D2704.数组A810中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A7

17、4的起始地址为( )。ASA+141 BSA+144 CSA+222 DSA+2255.数组A810中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,该数组按列存放时,元素A47的起始地址为( )。ASA+141 BSA+180 CSA+222 DSA+2256.稀疏矩阵一般的压缩存储方法有两种,即( )。A二维数组和三维数组 B三元组和散列C三元组和十字链表 D散列和十字链表7.若采用三元组压缩技术存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成了对该矩阵的转置运算,这种观点( )。A正确 B错误8.设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一

18、维数组B1,n(n-1)/2中,对下三角部分中任一元素ai,j(itag=1;dd.sublist=creat_GL(s); Elsetag=0;dd.data=ch;else h=NULL;ch=*(*s);if(h!=NULL)if(ch=,link =creat_GL(s);link=NULL; return(h);void prn_GL(NODE *p) if(p! if(p-tag=1) printf();dd.sublist =NULL) else prn_GL(p-dd.sublist );%c,p-dd.data);)if(p-link!printf(,prn_GL(p-lin

19、k);NODE *copy_GL(NODE *p) NODE *q; if(p=NULL) return(NULL); q=(NODE *)malloc(sizeof(NODE); q-tag=p-tag;tag)dd.sublist =copy_GL(p-dd.data =p-dd.data;link=copy_GL(p- return(q);NODE *head(NODE *p) /*求表头函数 */ return(p-dd.sublist); NODE *tail(NODE *p) /*求表尾函数 */int sum(NODE *p) /*求原子结点的数据域之和函数 */ int m,n; if(p=NULL) return(0);

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

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