24小时热门版块排行榜    

查看: 634  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

冰雨hust

铁虫 (小有名气)

[求助] 归并中的递归问题

对于归并排序中
void mergeSort(int a,int b)
{
if(a<b)
{
int mid=(a+b)/2;--------(1)
mergeSort(a,mid);---------(2)
mergeSort(mid+1,b);--------(3)
merge(a,mid,b);--------(4)

}
}
这个程序的执行过程是咋样的啊,执行到(2)时要用自身的函数,递归调用,是不是一直递归调用到递归结束,再执行(3),又继续递归调用,直到结束,再执行(4),程序结束啊?各位大侠指点下啊~~~
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

引用回帖:
3楼: Originally posted by 冰雨hust at 2013-06-26 21:09:08
那这个程序是怎样得到(归并排序)a到mid得到排好序的序列A呢?我先弄透彻点...

这就是递归的意义所在啊,从a到mid排序调用的是自身(从a到b,这时候b=mid而已)
参数a<b是递归出口,也就是说当仅有一个元素(a==b)时,递归就结束了,然后一层层返回去.

你用一个简单的3个元素的数组[1,2,3]画出函数调用层次就一下子明白了
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2013-06-27 00:14:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
jjdg: 金币+2, 感谢参与 2013-06-27 00:34:16
递归的问题,你要抽象出来"自相似结构"部分.不要管他怎么又调用自身,只分析步骤即可.

简单来说,mergeSort(a,b)是这样一个函数,实现对于a到b之间的元素进行归并排序(a<b)
具体步骤是:
找到中点mid,
用同样的办法(归并排序)a到mid得到排好序的序列A
用同样的办法(归并排序)mid+1到b得到排好序的序列B
合并序列A和B得到完整的排序序列C(C=A U B,但是是排好序的)
--------
一般会设置递归出口,上面的函数隐含了出口(就是a<b),当a==b或者a>b时会直接返回.
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-06-26 20:47:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

冰雨hust

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2013-06-26 20:47:59
递归的问题,你要抽象出来"自相似结构"部分.不要管他怎么又调用自身,只分析步骤即可.

简单来说,mergeSort(a,b)是这样一个函数,实现对于a到b之间的元素进行归并排序(a<b)
具体步骤是:
找到中点mid, ...

那这个程序是怎样得到(归并排序)a到mid得到排好序的序列A呢?我先弄透彻点
3楼2013-06-26 21:09:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 2rKfVQg2jQww 2026-11-06 5/250 2026-11-07 17:23 by Xc2FxHsHkBNc
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 5sJFDKp2kwuI 2026-11-06 4/200 2026-11-07 16:28 by Xc2FxHsHkBNc
[公派出国] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 5sJFDKp2kwuI 2026-11-06 5/250 2026-11-07 16:17 by Xc2FxHsHkBNc
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 5sJFDKp2kwuI 2026-11-06 5/250 2026-11-07 16:06 by Xc2FxHsHkBNc
[考博] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +6 ELBZ6WwEaRj6 2026-11-05 8/400 2026-11-06 16:34 by 5sJFDKp2kwuI
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 ELBZ6WwEaRj6 2026-11-04 14/700 2026-11-06 16:32 by 5sJFDKp2kwuI
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 ttH3f1oA6ace 2026-11-04 11/550 2026-11-06 16:10 by 5sJFDKp2kwuI
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 ncTVBM6AOJHF 2026-11-04 15/750 2026-11-06 13:49 by BkA9Bi5cMhkD
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +6 ncTVBM6AOJHF 2026-11-04 11/550 2026-11-06 13:47 by BkA9Bi5cMhkD
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +7 ncTVBM6AOJHF 2026-11-04 17/850 2026-11-06 13:47 by BkA9Bi5cMhkD
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 ELBZ6WwEaRj6 2026-11-05 10/500 2026-11-06 12:32 by BkA9Bi5cMhkD
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ELBZ6WwEaRj6 2026-11-04 10/500 2026-11-06 05:32 by qL1cU46YIdK0
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 ELBZ6WwEaRj6 2026-11-04 12/600 2026-11-06 05:32 by qL1cU46YIdK0
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 kvewwGtKktqB 2026-11-04 11/550 2026-11-06 05:10 by qL1cU46YIdK0
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 kvewwGtKktqB 2026-11-04 14/700 2026-11-06 05:10 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 kvewwGtKktqB 2026-11-04 16/800 2026-11-06 05:00 by qL1cU46YIdK0
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ttH3f1oA6ace 2026-11-04 7/350 2026-11-06 02:13 by qL1cU46YIdK0
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 ttH3f1oA6ace 2026-11-04 10/500 2026-11-06 02:04 by qL1cU46YIdK0
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ttH3f1oA6ace 2026-11-04 9/450 2026-11-06 02:02 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 hNpp4Y2CGvSC 2026-11-04 12/600 2026-11-06 01:53 by qL1cU46YIdK0
信息提示
请填处理意见