数据结构与算法习题及答案.doc
《数据结构与算法习题及答案.doc》由会员分享,可在线阅读,更多相关《数据结构与算法习题及答案.doc(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第章绪论习题1简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。2.试举一个数据结构得例子,叙述其逻辑结构与存储结构两方面得含义与相互关系。3。简述逻辑结构得四种基本关系并画出它们得关系图.4。存储结构由哪两种基本得存储方法实现?5。选择题(1)在数据结构中,从逻辑上可以把数据结构分成( )。A.动态结构与静态结构 B紧凑结构与非紧凑结构C线性结构与非线性结构 D。内部结构与外部结构(2)与数据元素本身得形式、内容、相对位置、个数无关得就是数据得( ).A存储结构 。存储实现C.逻辑结构 D.运算实现(3)通常要求同一逻辑结构中得所有数据元素具有相同得
2、特性,这意味着( ). A。数据具有同一特点B。不仅数据元素所包含得数据项得个数要相同,而且对应数据项得类型要一致.每个数据元素都一样D数据元素所包含得数据项得个数要相等(4)以下说法正确得就是( ).A.数据元素就是数据得最小单位B.数据项就是数据得基本单位数据结构就是带有结构得各数据项得集合D。一些表面上很不相同得数据可以有相同得逻辑结构(5)以下与数据得存储结构无关得术语就是( ).A。顺序队列 B、 链表 C、 有序表 D、 链栈(6)以下数据结构中,( )就是非线性数据结构A。树 。字符串 C。队 .栈6试分析下面各程序段得时间复杂度。(1)=90; y=10;whie(y0)(10
3、0)=0;y;else x+;(2)for (i=; in;i+)f (=0; m; +)aij=0;()=0; ri0; n; i+)for(j=; j; +) s+ij;su=s;(4)=; hil(i=n) =i*;(5)x=0;fr(i=1; i1=0;whl(x(y) (+1)) y+;()(1)(2)O(m*n)()O(n2)()O(log3)(5)因为x+共执行了n1+n2+1= n(n-1)/2,所以执行时间为O(n2)(6)O()第2章 线性表.选择题(1)一个向量第一个元素得存储地址就是10,每个元素得长度为2,则第5个元素得地址就是( )。A.110 1 C100 D。2
4、0(2)在个结点得顺序表中,算法得时间复杂度就是(1)得操作就是( )。.访问第i个结点(1in)与求第i个结点得直接前驱(2in)B。在第个结点后插入一个新结点(1n)C.删除第i个结点(1in)D将n个结点从小到大排序() 向一个有7个元素得顺序表中插入一个新元素并保持原来顺序不变,平均要移动 得元素个数为( )。A.8 。63。5 C.63 D。(4)链接存储得存储结构所占存储空间( )。分两部分,一部分存放结点值,另一部分存放表示结点间关系得指针B.只有一部分,存放结点值C.只有一部分,存储表示结点间关系得指针D。分两部分,一部分存放结点值,另一部分存放结点所占单元数(5)线性表若采用
5、链式存储结构时,要求内存中可用存储单元得地址( ).A.必须就是连续得 部分地址必须就是连续得。一定就是不连续得 D。连续或不连续都可以(6)线性表L在( )情况下适用于使用链式结构实现。A.需经常修改L中得结点值 需不断对进行删除插入 C。L中含有大量得结点 DL中结点结构复杂(7)单链表得存储密度( )。A大于1 B.等于1 .小于1 不能确定(8)将两个各有个元素得有序表归并成一个有序表,其最少得比较次数就是( )。A。 B。2-1 C。2 D。n1(9)在一个长度为得顺序表中,在第i个元素(in+1)之前插入一个新元素时须向后移动( )个元素。A。n-i B.ni+ Ci1 D。i(1
6、) 线性表=(a1,a2,a),下列说法正确得就是( )。每个元素都有一个直接前驱与一个直接后继B。线性表中至少有一个元素C表中诸元素得排列必须就是由小到大或由大到小D。除第一个与最后一个元素外,其余每个元素都有一个且仅有一个直接前驱与直接后继。(1) 若指定有个元素得向量,则建立一个有序单链表得时间复杂性得量级就是( )。A.(1) B.O(n) C。(n2) D.O(nlog2n)(12) 以下说法错误得就是( )。A.求表长、定位这两种运算在采用顺序存储结构时实现得效率不比采用链式存储结构时实现得效率低B。顺序存储得线性表可以随机存取C。由于顺序存储要求连续得存储区域,所以在存储管理上不
7、够灵活D线性表得链式存储结构优于顺序存储结构(13) 在单链表中,要将s所指结点插入到p所指结点之后,其语句应为( )。A.se=p+; pnext=s;B。(p)、net=s; (s)、next(*p)、et;C.snetpne;pnext=snext;Dsnx-next; p-next=s; (14)在双向链表存储结构中,删除p所指得结点时须修改指针( )。A。pnet-prior=p-prior;p-rornxtnext;Bpnet=pnextnext; pexpri=p;C.prornextp; pprior=pripio;D。pprirp-next-nx; pnext=ppropri
8、r;(15)在双向循环链表中,在p指针所指得结点后插入所指向得新结点,其修改指针得操作就是( ).p-next=q; qpriorp; p-ntpri=q; qnex=;B。-nxt=; next-rir=q; qpio=p; q-ext=p-next;C。qprior=p;qet=p-next; p-next-pror=q; -nex=;D。q-prior=p; qxt=pex; p-ex=; p-netpror;2算法设计题(1)将两个递增得有序链表合并为一个递增得有序链表。要求结果链表仍使用原来两个链表得存储空间, 不另外占用其它得存储空间.表中不允许有重复得数据。vid MergeLi
9、t_L(LkLit &La,LiLis L,Lint &Lc) pa=Lant; pbbext; Lc=pc=La; /用La得头结点作为Lc得头结点 while(p p) f(a-atab-data) pcextpa;pc=pa;paext; lse i(pa-dtapb-ata) pcnetpb;=b; pb=bnxt; else 相等时取La得元素,删除L得元素 pc-net=p;pc=;pa=panex; =pnext;eete pb ;p q; pc-e=p?pa:pb; /插入剩余段 dltLb; /释放Lb得头结点 (2)将两个非递减得有序链表合并为一个非递增得有序链表。要求结果
10、链表仍使用原来两个链表得存储空间, 不另外占用其它得存储空间。表中允许有重复得数据。voiunion(LinkLis La, LinkList b, Linkist Lc, ) pa =La-next;pb=bnext; /初始化Lca; /用a得头结点作为c得头结点 cnext L; while( pa p ) if (!pa ) q = pb; b -ext; el if ( !pb ) q = pa; pa pa-net; else if (pa-dta pdat ) =p; pa = pant; else q = pb; pb =pb-ex; qext Lcnext; Lcnext=
11、; / 插入 eeb; /释放Lb得头结点 ()已知两个链表A与B分别表示两个集合,其元素递增排列。请设计算法求出A与B得交集,并存放于A链表中.voi Mix(inLisL,Likist& Lb, LikLi Lc,)pa=laext;pb=lbnext;设工作指针a与pb;Lc=pc=L; /用L得头结点作为Lc得头结点whi(ppb) if(pa-dta=pbdata)交集并入结果表中. pcet=pa;pcpa;pa=panext; =p;b=pbnext; deete ;ee if(a-dapb-) u=a;p=pa-n;delte u;s u=pb; pb=pbet; delete
12、 u;wil(pa) u=pa; panex; eleteu; 释放结点空间while(b)up; b=bnxt; deltu;释放结点空间pcextul;置链表尾标记。delet b; 注:本算法中也可对B表不作释放空间得处理(4)已知两个链表A与B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A与B 得差集(即仅由在A中出现而不在B中出现得元素所构成得集合),并以同样得形式存储,同时返回该集合得元素个数。void Dffnce(LinkedLst ,B,*n)A与均就是带头结点得递增有序得单链表,分别存储了一个集合,本算法求两集合得差集,存储于单链表A中,n就是结果集合中元素个数
13、,调用时为0=Anext; p与q分别就是链表A与B得工作指针。 =B-next; pr=A; p为中p所指结点得前驱结点得指针。 while(p!ul& !=null)if(pdaanext;*n+; A链表中当前结点指针后移。else if(pdaqdata)q=q-next; B链表中当前结点指针后移。se pre-netpnxt; 处理A,中元素值相同得结点,应删除。 u=;p=p-next; lte u; 删除结点(5)设计算法将一个带头结点得单链表分解为两个具有相同结构得链表B、C,其中B表得结点为表中值小于零得结点,而表得结点为表中值大于零得结点(链表A得元素类型为整型,要求B、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法 习题 答案
限制150内