欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构线性表课后答案.docx

    • 资源ID:492384       资源大小:20.67KB        全文页数:9页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    数据结构线性表课后答案.docx

    第2章线性表1.选择题(1)顺序表 中第一个元素的存储地址是100,每一个元素的 长度为2,则第5个 元素的地址是()。A. 110B . 108 C. 100D . 120答案:B解释:顺序表中的数据连续存储,所以第5个元素的地址为:100+2*4=108。(2)在n个结点的顺序表中,算法的时间复杂度是O(I)的操作是()。A.访问第i个结点(in)和求第i个结点的直接前驱(2i<n)B.在第i个结点后插入一个新结点(IWiWn)C.删除第i个结点(IWwn)D.将n个结点从小到大排序答案:A解释:在顺序表中插入一个结点的时间复杂度都是O(2),排序的时间复杂度为 O(M)或者O(MOg2口)。顺序表是一种随机存取结构,访问第i个结点和求第i个结点的 直接 前驱都可以直接通过数组的下标直接定位,时间复杂度是0(1)。(3)向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均 要挪移的元素个数为()。A . 8 B . 63.5 C . 63 D . 7答案:B解释:平均要挪移的元素个数为:n2o(4)链接存储的存储结构所占存储空间()。A.分两部份,一部份存放结点值,另一部份存放表示结点间关系的指针B.惟独一部份,存放结点值C.惟独一部份,存储表示结点间关系的指针D.分两部份,一部份存放结点值,另一部份存放结点所占单元数答案:A(5)线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。A.必须是连续的B.部份地址必须是连续的C. 一定是不连续的D.连续或者不连续都可以答案:D(6)线性表L在()情况下合用于使用链式结构实现。A .需时常修改L中的结点值 B .需不断对L进行删除插入C. L中含有大量的结点D . L中结点结构复杂答案:B解释:链表最大的优点在于插入和删除时不需要挪移数据,直接修改指针即 可。(7)单链表的存储密度()。A.大于1B.等于1 C.小于1 D.不能确定答案:C解释:存储密度是指一个结点数据本身所占的存储空间和整个结点所占的存 储空间之比,假设单链表一个结点本身所占的空间为D,指针域所占的空间为N , 则存储密度为:D(D+N), 一定小于1。(8)将两个各有n个元素的有序表归并成一个有序表,其至少的比较次数是()0A . nB . 2n-1C . 2n D . n-1答案:A解释:当第一个有序表中所有的元素都小于(或者大于)第二个表中的元素 ,只需要用第二个表中的第一个元素挨次与第一个表的元素比较,总计比较n次 O(9)在一个长度为n的顺序表中,在第i个元素(IWwn+1)之前插入一个新元 素时须向后挪移()个元素。A . n-iB . n-i+1 C . n-i-1 D . I答案:B(10)线性表L=(a 1 , a2,an),下列说法正确的是()。A.每一个元素都有一个直接前驱和一个直接后继B.线性表中至少有一个元素C.表中诸元素的罗列必须是由小到大或者由大到小D.除第一个和最后一个元素外,其余每一个元素都有一个且仅有一个直接前驱 和直接后继。答案:D(11)创建一个包括n个结点的有序单链表的时间复杂度是()0A . 0(1)B . O(n)C . O(2)D . O(nlog2n)答案:C解释:单链表创建的时间复杂度是0(n),而要建立一个有序的单链表,则每 生成一个新结点时需要和已有的结点进行比较,确定合适的插入位置,所以时间复 杂度是O(n2)o(12)以下说法错误的是()。A .求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存 储结构时实现的效率低B.顺序存储的线性表可以随机存取C.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵便D.线性表的链式存储结构优于顺序存储结构答案:D解释:链式存储结构和顺序存储结构各有优缺点,有不同的合用场合。(13)在单链表中,要将S所指结点插入到P所指结点之后,其语句应为()。A . s->next=p+1; p->next=s;B . (*p) .next=s; (*s) .next=(*p) .next;C . s->next=p->next; p->next=s->next;D . s->next=p->next; p->next=s;答案:D(14)在双向链表存储结构中,删除P所指的结点时须修改指针()。A . p->next->prior=p->prior; p->prior->next= p->next;B . p->next=p->next->next; p->next->prior=p;C . p->prior->next=p; p->prior=p->prior->prior;D . p->prior= p->next->next; p->next=p->prior->prior;答案:A(15)在双向循环链表中,在P指针所指的结点后插入q所指向的新结点,其修改指 针的操作是()。A . p->next=q; q->prior=p; p->next->prior=q; q->next=q;B . p->next=q; p->next->prior=q; q->prior=p; q->next=p->next;C . q->prior=p; q->next=p->next; p->next->prior=q; p->next=q;D . q->prior=p; q->next=p->next; p->ne×t=q; p->next->prior=q; 答案:C.算法设计题(D将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来 两个链表的存储空间不此外占用其它的存储空间。表中不允许有重复的数据。题目分析合并后的新表使用头指针 指向, 和 分别是链表 和 的工作指针初始 化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表 和 均为到 达表尾结点时,挨次摘取其中较小者重新链接在 表的最后。如果两个表中的元素相等, 只摘取 表中的元素,删除 表中的元素,这样确保合并后表中无重复的元素。当一 个表到达表尾结点,为空时,将非空表的剩余元素直接链接在 表的最后。算法描述合并链表 和 ,合并后的新表使用头指针 指向和 分别是链表 和 的工作指针初始化为相应链表的第一个结点 用 的头结点作为的头结点取较小者 中的元素,将 链接在 的后面,指针后移取较小者 中的元素,将 链接在 的后面, 指针后移相等时取 中的元素,删除 中的元素插入剩余段释放的头结点(2)将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用 原来两个链表的存储空间不此外占用其它的存储空间。表中允许有重复的数据。题目分析合并后的新表使用头指针 指向, 和 分别是链表 和 的工作指针初始 化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表 和 均为到 达表尾结点时,挨次摘取其中较小者重新链接在 表的表头结点之后,如果两个表中的 元素相等,只摘取 表中的元素,保留 表中的元素。当一个表到达表尾结点,为空 时,将非空表的剩余元素挨次摘取,链接在 表的表头结点之后。算法描述合并链表 和 ,合并后的新表使用头指针 指向和 分别是链表 和 的工作指针初始化为相应链表的第一个结点用 的头结点作为 的头结点只要存在一个非空表,用指向待摘取的元素表为空,用指向表为空,用指向指针后移指针后移取较小者(包括相等)中的元素,用指向指针后移取较小者 中的元素,用 指向指针后移将指向的结点插在表的表头结点之后释放的头结点(3)已知两个链表 和 分别表示两个集合,其元素递增罗列。请设计算法求出 与 的交集,并存放于 链表中。题目分析惟独同时浮现在两集合中的元素才浮现在结果表中合并后的新表使用头指针 指 向。 a和 分别是链表a和的工作指针初始化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表 a和均为到达表尾结点时,如果两个表中相等的元素时,摘取 a表中的元素,删除 表中的元素;如果其中一个表中的元素较小时, 删除此表中较小的元素,此表的工作指针后移。当链表 a和有一个到达表尾结点,为空时,挨次删除另一个非空表中的所有元素。算法描述d x( LinkList ankListnkLista= La > next; pb=> next;a和 分别是链表a和的工作指针初始化为相应链表的第个结点= pc= a用;a的头结点作为 的头结点 le( pa& & pb)a >data>=d=ata) 交集并入结果表中。> next= pa; pc= pa; pa= pa > next;u= pb; pb=> next; delete u; elsea >data>data) u=pa; pa=pa >next; delete u;)else u= pb; =>next; delete u; )Ie(Pa) u= pa;a=pa >nextu; ; (Ie 蜂e放结点空间Ie(pb)u=pb;=>ne;x t ;释(10放Ie结te点U空间>next=null; 置链表尾标记。delete ;释放 的头结点 (4)已知两个链表和分别表示两个集合,其元素递增罗列。请设计算法求出两 个集合 和 的差集(即仅由在 中浮现而不在 中浮现的元素所构成的集合),并以 同样的形式存储,同时返回该集合的元素个数。题目分析求两个集合 和 的差集是指在 中删除 和 中共有的元素,即删除链表中的相 应结点所以要保存待删除结点的前驱,使用指针指e向前驱结点。a和分别是链表 a和的工作指针初始化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表a和均为到达表尾结点时,如果a表中的元素小于表中的元素,e置为a表的工作指针a删除 表中的元素;如果其中一个表中的元素较小时,删除此 表中较小的元素,此表的工作指针后移。当链表 a和 有一个为空时,挨次删除另一个非空表中的所有元素。算法描述Oider (eLn ne List L LinkList ) Lb, int n差集的结果存储于单链表L中,n是结果集合中元素个数,调用时为pa= L >next; pb=L > next;P和P分别是链表L和L的工作指针初始化为相应链表的第一个结点pre= La;/7pre为L中P所指结点的前驱结点的指针(pe )p(p >dat) >d Prte=Pa; Pa=P>next; *n+ ; 链表中当前结点指针后移else ( p >data> ) >d =t >next; /链表中当前结点指针后移else pre >next=p >next; 处理, 中元素值相同的结点,应删除-pa; pa=p >next; delete ;删除结点(5)设计算法将一个带头结点的单链表 其中表的结点为表中值小于零的结点,而表中的元素为非零整数,要求表利用分解为两个具有相同结构的链表、, 表的结点为表中值大于零的结点(链表的结点)。题目分析表的头结点使用原来表的头结点,为 结点开始,挨次取其每一个结点P,判断结点 P表新申请一个头结点。从表的第一个

    注意事项

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

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




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

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开