【免费下载】第二章 部分习题参考答案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
同的就删除掉,然后再取第二结点的值,重复上述过程直到最后一个结点。 具体算法: void DeleteList ( LinkList L ) { ListNode *p , *q , *s; p=L-next; while( p->next&&p->next->next) { q=p;//由于要做删除操作,所以 q 指针指向要删除元素的直接前趋 while (q->next) if (p->data==q->next->data) {s=q->next;q->next=s->next;free(s);//删除与*p 的值相同的结点 } else q=q->next; p=p->next; } } 8 写一算法从一给定的向量 A 删除值在 x 到 y(x≤y)之间的所有元素(注意:x 和 y 是给定 的参数,可以和表中的元素相同,也可以不同)。
2 何时选用顺序表,何时选用链表作为线性表的存储结构合适? 各自的主要优缺点是什么? 在实际应用中,应根据具体问题的要求和性质来选择顺序表或链表作为线性表的存储结
构,通常有以下几方面的考虑: 1.基于空间的考虑。当要求存储的线性表长度变化不大,易于事先确定其大小时,为了
节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用 动态链表作为存储结构为好。
链表的主要优点:无需事先了解线性表的长度;能够适应经常插入删除内部元素的情况; 允许线性表的长度有很大变化
3 在顺序表中插入和删除一个结点平均需要移动多少个结点? 具体的移动次数取决于哪两 个因素?
在等概率情况下,顺序表中插入一个结点需平均移动 n/2 个结点。删除一个结点需平均 移动(n-1)/2 个结点。具体的移动次数取决于顺序表的长度 n 以及需插入或删除的位置 i。i 越接近 n 则所需移动的结点数越少。 4 链表所表示的元素是否有序? 如有序,则有序性体现于何处? 链表所表示的元素是否一 定要在物理上是相邻的? 顺序表的有序性又如何理解?
由于在单链表中只给出一个头指针,所以只能用遍历的方法来数单链表中的结点个数了。 算法如下: intListLength ( LinkList L ) { intlen=0 ; ListNode *p; p=L; //设该表有头结点 while ( p->next ) { p=p->next; len++; } return len; } 7 写一算法将单链表中值重复的结点删除,使所得的结果链表中所有结点的值均不相同。
Байду номын сангаас
{ if(p.data>=x||p.data<=y)
{ q=p; (p-1).next=p.next; }
p++; free(q);
}
}
9 设 A 和 B 是两个按元素值递增有序的单链表,写一算法将 A 和 B 归并为按元素值递减有 序的单链表 C,试分析算法的时间复杂度。
根据已知条件,A 和 B 是两个递增有序表,所以可以先取 A 表的表头建立空的 C 表。然 后同时扫描 A 表和 B 表,将两表中最大的结点从对应表中摘下,并作为开始结点插入 C 表中。 如此反复,直到 A 表或 B 表为空。最后将不为空的 A 表或 B 表中的结点依次摘下并作为开 始结点插入 C 表中。这时,得到的 C 表就是由 A 表和 B 表归并成的一个按元素值递减有序 的单链表 C。
voidDeletElem(SqListA,intx,int y)
{
ElemType *p,*q;
inti=0; int j;
p=&A.next;
for(i;i<A.length;i++)
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
2.基于时间的考虑。若线性表的操作主要是进行查找,很少做插入和删除操作时,采用 顺序表做存储结构为宜;反之, 若需要对线性表进行频繁地插入或删除等的操作时,宜采 用链表做存储结构。并且,若链表的插入和删除主要发生在表的首尾两端,则采用尾指针表 示的单循环链表为宜。
顺序表的主要优点: 没使用指针,不用花费附加开销 ;线性表元素的读写访问非常简洁 便利
有序。有序性体现在通过指针数据元素有序的相连。物理上不一定要相邻。顺序表的 有序不仅体现在逻辑结构上有序,而且在物理结构(储存结构)也有序。 5 设顺序表 L 是递增有序表,试写一算法,将 x 插入到 L 中并使 L 仍是递增有序表。 因已知顺序表 L 是递增有序表,所以只要从顺序表终端结点(设为 i 位置元素)开始向 前寻找到第一个小于或等于 x 的元素位置 i 后插入该位置即可。 在寻找过程中,由于大于 x 的元素都应放在 x 之后,所以可边寻找,边后移元素,当找
本题可以这样考虑,先取开始结点中的值,将它与其后的所有结点值一一比较,发现相
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
到第一个小于或等于 x 的元素位置 i 时,该位置也空出来了。 算法如下: void InsertIncreaseList( Seqlist *L , Datatype x ) { inti; if ( L->length>=ListSize) Error(“overflow"); for ( i=L -> length ; i>0 && L->data[ i-1 ] > x ; i--) L->data[ i ]=L->data[ i ] ; // 比较并移动元素 L->data[ i ] =x; L -> length++; } 6 写一求单链表的结点数目 ListLength(L)的算法。