欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构课后习题第2章.docx

    • 资源ID:10962008       资源大小:49.37KB        全文页数:17页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课后习题第2章.docx

    1、数据结构课后习题第2章【课后习题】第2章 线性表2011级 计科 (网工) 班 学号: 姓名: 题 号一二三四总分得 分一、判断题(如果正确,在题号前打“”,否则打“”。每题2分,共10分) ( ) 1.线性表若采用顺序存储表示时所有结点之间的存储单元地址必须连续。( ) 2.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。( ) 3.如果某个数据结构的每一个元素都是最多只有一个直接前驱,则必为线性结构。( ) 4.线性表的逻辑顺序与物理顺序总是一致的。( ) 5.线性表的长度是指它所占存储空间的大小。二、填空题(每空1.5分,共21分)1.从逻辑结构看,线性表是典型的 。2.在一个长

    2、度为n的向量中在第i(1in+1)个元素之前插入一个元素时,需向后移动 个元素,算法的时间复杂度为 。3.在一个长度为n的向量中删除第i(1in)个元素时,需向前移动 个元素,算法的时间复杂度为 。4.若长度为n的线性表采用链式存储结构,在其第i个结点前插入一个新的元素的算法的时间复杂度为 。删除其第i个元素的算法的时间复杂度为 。5.线性表顺序存储结构的优点是可以实现 ,主要缺点是: 。6.不带头结点的单链表L为空的条件是 ,带头结点的单链表L为空的条件是 ,带头结点的单循环链表L为空的条件是 。7.两指针p和q,分别指向单链表的两个元素,p所指元素是q所指元素的前导的条件是 。8.设双向循

    3、环链表中结点的结构为(data, prior, next),若指针p指向该链表的某个结点,则有下面的关系:p-next-prior= = 。三、单项选择(请将正确答案的代号填写在下表对应题号下面。每题2分,共40分)题号12345678910答案题号11121314151617181920答案1.P和Q两个指针分别指向双向循环表L的两个元素,P所指元素是Q所指元素的后继的条件是( )。A.P= =Q B.Q-Next=P C.P-Next=Q D.Q-PRIOR=P2.指针P指向不带头结点的线性链表L的首元素的条件是( )。A.P= =L B.L-Next=PC.P-next=L D.P-ne

    4、xt=NULL3.指针p指向带头结点的单循环链表L 的首元素的条件是( )。A.P= =L B.L-Next=PC.P-next=L D.P-next=NULL4.指针P指向单链表L的尾元素的条件是( )。A.P= =L B.L-Next=PC.P-next=L D.P-next=NULL5.指针P 所指的元素是双向循环链表L的尾元素的条件是( )。A.P= =L B.P= =NULL C. P-next=L D. P-prior=L6.在一个具有n个结点的有序单链表中插入一个新结点,并使插入后仍然有序,则该操作的时间复杂性量级为( )。A.0(1) B.0(n) C.0(nlog2n) D.

    5、0(n2)7.顺序存储的线性表(a1,a2,an),在任一结点前插入一个新结点时所需移动结点的平均次数为( )。A.n B.n/2 C.n+1 D.(n+1)/28.删除长度为n的顺序表的第i(1in)个位置上的元素,元素的移动次数为( )A) i-1 B) i C) n-i D) n-i+19.在C语言中可用( )描述线性表。A、数组; B、指针; C、数组或指针; D、结构10.链表不具有的特点是( )A) 插入、删除不需要移动元素 B) 可随机访问任一元素 C) 不必事先估计存储空间 D)所需空间与线性长度成正比11.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是(

    6、)A)p=p-next; B)p-next=p; C)p-next=p-next-next; D)p=p-next-next;12.单链表的存储密度( )A)大于1; B)等于1; C) 不能确定; D) 小于113.非空的循环单链表first的尾结点(由p所指向)满足: 。A. p- next = NULL;B. p = NULL; C. p- next = first; D. p = first;14.下列静态链表没有设置空闲指针链,则其表示的线性表逻辑结构为( )。01234567100abcdef32516410 A、(c, a, b ,e, d, f,); B、; C、; D、。15

    7、.在下列线性表如下图所示中将结点P插入到Q结点之前采用的操作是( )。(已知:结点的前驱指针域为pre,后继指针域为next)。 A、P-next=Q-next;P-pre=P-next-pre;P-next-pre=P-pre;P-pre-next=P; B、P-next=Q; P-next-pre=P-pre;P-pre-next=P; P-pre=P-next-pre; C、P-pre=P-next-pre;P-next-pre=P-pre;P-pre-next=P;P-next=Q; D、P-next=Q;P-pre=P-next-pre;P-next-pre=P;P-pre-next

    8、=P。16.设双向循环链表中结点的结构为(data, prior, next),且不带表头结点。若想在指针p所指结点之后插入指针s所指结点,则应执行下列哪一个操作? A) p-next = s; s-prior = p; p-next-prior = s; s-next = p-next; B) p-next = s; p-next-prior = s; s-prior = p; s-next = p-next;C) s-prior = p; s-next = p-next; p-next = s; p-next-prior = s;D) s-prior = p; s-next = p-nex

    9、t; p-next-prior = s; p-next = s;17.下列说法正确的是( )。A.线性表的逻辑顺序与存储顺序总是一致的B.线性表的链式存储结构中,要求内存中可用的存储单元可以是连续的,也可以不连续C.线性表的顺序存储结构优于链式存储结构D.每种数据结构都具有插入、删除和查找三种基本运算18.关于线性结构的特性描述不恰当是( )。A、有唯一个被称作“第一个”的数据元素; B、有唯一个被称作“最后一个”的数据元素;C、除最后一个之外,线性表中每个数据元素都有后继; D、栈、队列、串和数组也属于线性表。19.线性表中任一元素在( )中存储位置为,其中表示元素的存储首地址,为每一个元素

    10、占用的存储单元数。A、线性表逻辑结构; B、线性表存储结构; C、线性表链式存储结构; D、线性表顺序存储结构。20.设双链表中结点的前趋指针和后继指针的域名分别为t1和r1,则删除双链表中指针s所指结点的操作为( )。A.s-tl-r1=s-tl; s-rl-tl=s-rl; free(s);B.s-tl-rl=s-rl; s-rl-tl=s-tl; free(s);C.s-rl=s-tl-rl; s-tl=s-rl-tl; free(s);D.s-tl=s-tl-rl; s-rl=s-rl-tl free(s);四、算法分析与设计(请将答案填在下表对应位置。共29分)第1题(7分)第2题(

    11、8分)第3题(8分)第4题(6分) ;1、已知无头结点的单链表L,简述下列对L链表操作算法的功能。LinkList Demo(LinkList L) / L 是无头结点单链表ListNode *Q,*P;if(L&L-next)Q=L; L=L-next; P=L;while (P-next) P=P-next;P-next=Q; Q-next=NULL;return L;/ Demo2、已知线性表的带头结点双向循环链表存储结构如下所示:typedef struct DuLNodeElemType data;struct DuLNode *prior;Struct DuLNode *next;

    12、DuLNode,*DuLinkList;请完成在带头结点的双向循环链表L中第i个位置之前插入元素e(1i表长+1)算法:status ListInsert_DuL(DuLinkList&L,int I;ElemType e) p=L;j=0; while(pp-next)&(jnext;j+; if(p= =L)&(i1)|(ji-1) return ERROR; p=p-next; if(!(s=(DuLinkList)malloc(sizeof(DuLNode) rerurn ERROR; ; = p ; s-prior=p-prior; ; ;return OK;/ListInsert_

    13、DuL3、 设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。void InsertIncreaseList( Seqlist *L , Datatype x )int i;if ( L-length=ListSize)Error(“overflow);for ( i=L - length ; i0 & L-data i ; i-)L-data i+1 = ; / 比较并移动元素 =x; ;4、有一个不带头结点的单链表,其头指针为head,其结点的数据域值可能相同,编写一个函数统计数据域的值为x的结点个数。int countx (LinkList head, Elem

    14、Type x)LinkList p; int n=0; while (p!=NULL) if (p-data= =x) return(n);【课后习题】第2章 线性表(参考答案)一、判断题(如果正确,在题号前打“”,否则打“”。每题2分,共10分) 1. 2. X 3. X 4. X 5. X二、填空题(每空1.5分,共21分)1.从逻辑结构看,线性表是典型的 线性结构 。2.在一个长度为n的向量中在第i(1in+1)个元素之前插入一个元素时,需向后移动 n-i+1 个元素,算法的时间复杂度为 O(n) 。3.在一个长度为n的向量中删除第i(1in)个元素时,需向前移动 n-i 个元素,算法的

    15、时间复杂度为 O(n) 。4.若长度为n的线性表采用链式存储结构,在其第i个结点前插入一个新的元素的算法的时间复杂度为 O(n) 。删除其第i个元素的算法的时间复杂度为 O(n) 。5.线性表顺序存储结构的优点是可以实现 随机存取 ,主要缺点是: 不利于插入或删除操作 。6.不带头结点的单链表L为空的条件是 L=NULL ,带头结点的单链表L为空的条件是 L-next=NULL ,带头结点的单循环链表L为空的条件是 L-next=L 。7.两指针p和q,分别指向单链表的两个元素,p所指元素是q所指元素的前导的条件是p-next=q。8.设双向循环链表中结点的结构为(data, prior, n

    16、ext),若指针p指向该链表的某个结点,则有下面的关系:p-next-prior= = p (或 p-prior-next)。三、单项选择(请将正确答案的代号填写在下表对应题号下面。每题2分,共40分)题号12345678910答案BABDCBBCCB题号11121314151617181920答案CDCADDBCDB四、算法分析与设计(请将答案填在下表对应位置。共29分)第1题(7分)将第一个结点摘下链接到终端结点之后成为新的终端结点,而原来的第二个结点成为新的开始结点,返回新链表的头指针第2题(8分)s-data=es-next p-prior-next=sp-prior=s第3题(8分)

    17、 xL-dataiL-datai+1L-length+第4题(6分) p=head; n+;p=p-next;【课后习题】第2章 线性表(参考答案)一、判断题(如果正确,在题号前打“”,否则打“”。每题2分,共10分) 1.线性表若采用顺序存储表示时所有结点之间的存储单元地址必须连续。x 2.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。x 3.如果某个数据结构的每一个元素都是最多只有一个直接前驱,则必为线性结构。x 4.线性表的逻辑顺序与物理顺序总是一致的。x 5.线性表的长度是指它所占存储空间的大小。二、填空题(每空2分,共18分)1.从逻辑结构看,线性表是典型的 线性结构 。2

    18、.在一个长度为n的向量中在第i(1in+1)个元素之前插入一个元素时,需向后移动 n-i+1 个元素,算法的时间复杂度为 O(n) 。3.在一个长度为n的向量中删除第i(1in)个元素时,需向前移动 n-i 个元素,算法的时间复杂度为 O(n) 。4.若长度为n的线性表采用链式存储结构,在其第i个结点前插入一个新的元素的算法的时间复杂度为 O(n) 。删除其第i个元素的算法的时间复杂度为 O(n) 。5.线性表顺序存储结构的优点是可以实现 随机存取 ,主要缺点是: 不利于插入或删除操作 。6.不带头结点的单链表L为空的条件是 L=NULL ,带头结点的单链表L为空的条件是 L-next=NUL

    19、L ,带头结点的单循环链表L为空的条件是 L-next=L 。7.两指针p和q,分别指向单链表的两个元素,p所指元素是q所指元素的前导的条件是p-next=q。8.设双向循环链表中结点的结构为(data, prior, next),若指针p指向该链表的某个结点,则有下面的关系:p-next-prior= = p (或 p-prior-next)。三、单项选择(请将正确答案的代号填写在下表对应题号下面。每题2分,共40分)1.P和Q两个指针分别指向双向循环表L的两个元素,P所指元素是Q所指元素的后继的条件是( )。A.P= =Q B.Q-Next=P C.P-Next=Q D.Q-PRIOR=P

    20、2.指针P指向不带头结点的线性链表L的首元素的条件是( )。A.P= =L B.L-Next=PC.P-next=L D.P-next=NULL3.指针p指向带头结点的单循环链表L 的首元素的条件是( )。A.P= =L B.L-Next=PC.P-next=L D.P-next=NULL4.指针P指向单链表L的尾元素的条件是( )。A.P= =L B.L-Next=PC.P-next=L D.P-next=NULL5.指针P 所指的元素是双向循环链表L的尾元素的条件是( )。A.P= =L B.P= =NULL C. P-next=L D. P-prior=L6.在一个具有n个结点的有序单链

    21、表中插入一个新结点,并使插入后仍然有序,则该操作的时间复杂性量级为( )。A.0(1) B.0(n) C.0(nlog2n) D.0(n2)7.顺序存储的线性表(a1,a2,an),在任一结点前插入一个新结点时所需移动结点的平均次数为( )。A.n B.n/2 C.n+1 D.(n+1)/28.删除长度为n的顺序表的第i(1in)个位置上的元素,元素的移动次数为( )A) i-1 B) i C) n-i D) n-i+19.在C语言中可用( )描述线性表。A、数组; B、指针; C、数组或指针; D、结构10.链表不具有的特点是( )A) 插入、删除不需要移动元素 B) 可随机访问任一元素 C

    22、) 不必事先估计存储空间 D)所需空间与线性长度成正比11.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( )A)p=p-next; B)p-next=p; C)p-next=p-next-next; D)p=p-next-next;12.单链表的存储密度( )A)大于1; B)等于1; C) 不能确定; D) 小于113.非空的循环单链表first的尾结点(由p所指向)满足: 。A. p- next = NULL;B. p = NULL; C. p- next = first; D. p = first;14.下列静态链表没有设置空闲指针链,则其表示的线性表逻辑结构为(

    23、 )。01234567100abcdef32516410 A、(c, a, b ,e, d, f,); B、; C、; D、。15.在下列线性表如图1所示中将结点P插入到Q结点之前采用的操作是( )。(已知:结点的前驱指针域为pre,后继指针域为next)。 A、P-next=Q-next;P-pre=P-next-pre;P-next-pre=P-pre;P-pre-next=P; B、P-next=Q; P-next-pre=P-pre;P-pre-next=P; P-pre=P-next-pre; C、P-pre=P-next-pre;P-next-pre=P-pre;P-pre-nex

    24、t=P;P-next=Q; D、P-next=Q;P-pre=P-next-pre;P-next-pre=P;P-pre-next=P。16.设双向循环链表中结点的结构为(data, prior, next),且不带表头结点。若想在指针p所指结点之后插入指针s所指结点,则应执行下列哪一个操作? A) p-next = s; s-prior = p; p-next-prior = s; s-next = p-next; B) p-next = s; p-next-prior = s; s-prior = p; s-next = p-next;C) s-prior = p; s-next = p-

    25、next; p-next = s; p-next-prior = s;D) s-prior = p; s-next = p-next; p-next-prior = s; p-next = s;17.下列说法正确的是( )。A.线性表的逻辑顺序与存储顺序总是一致的B.线性表的链式存储结构中,要求内存中可用的存储单元可以是连续的,也可以不连续C.线性表的顺序存储结构优于链式存储结构D.每种数据结构都具有插入、删除和查找三种基本运算18.关于线性结构的特性描述不恰当是( )。A、有唯一个被称作“第一个”的数据元素; B、有唯一个被称作“最后一个”的数据元素;C、除最后一个之外,线性表中每个数据元素

    26、都有后继; D、栈、队列、串和数组也属于线性表。19.线性表中任一元素在( )中存储位置为,其中表示元素的存储首地址,为每一个元素占用的存储单元数。A、线性表逻辑结构; B、线性表存储结构; C、线性表链式存储结构; D、线性表顺序存储结构。20.设双链表中结点的前趋指针和后继指针的域名分别为t1和r1,则删除双链表中指针s所指结点的操作为( )。A.s-tl-r1=s-tl; s-rl-tl=s-rl; free(s);B.s-tl-rl=s-rl; s-rl-tl=s-tl; free(s);C.s-rl=s-tl-rl; s-tl=s-rl-tl; free(s);D.s-tl=s-tl-rl; s-rl=s-rl-tl free(s);四、算法分析与设计(请将答案填在下表对应位置。共29分) 第1题(7分)将第一个结点摘下链接到终端结点之后成为新的终端结点,而原来的第二个结点成为新的开始结点,返回新链表的头指针第2题(8分)s-data=es-next=pp-prior-next=sp-prior=s第3题(8分) xL-dataiL-datai+1L-len


    注意事项

    本文(数据结构课后习题第2章.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开