递归与分治

本文通过幽默的方式解释了人口普查的实际操作,并深入浅出地介绍了递归算法在大规模问题解决中的应用,如人口普查,强调了大事化小,小事化了的分治思想在信息技术中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​ 很小的时候,我就很好奇,我大天朝\(13\)亿人,人口普查怎么查出来的。

​ 然后我脑补了一下,一个苦行僧手里拿着一本册子从南走到北,从白走到黑,碰到一个人就画正字。然后用双脚丈量一波全国的土地,统计出我国人口。

​ 这刚刚好也能解释,为啥人口普查那么久才进行一次了。因为统计员统计一次要很多年。

​ 当然,这也只是一个笑话罢了,计算机的能力很强大的。

​ 所谓递归,就是程序自己调用自己去解决自己的子问题。某些问题在大局面上无法直接解决,但是可以将其划分成一个一个子问题,不断划分下去就可以从局面极小的子问题直接得到答案,然后再反过来一路拼上来。这种思想,就叫分治,分而治之。计算机实现分治的最好办法,就是递归。

​ 比如人口普查,设\(CalcPeopleCnt(area)\)来计算某地区的人口数。显然,直接得到\(CalcPeopleCnt(China)\)并不现实。所以我们就要各省级单位进行本省统计,就是\(CalcPeopleCnt(Hunan)+......\)之类的。再细分到市,县,区等等。统计一个小区或者村庄有多少人可以交给居委会直接“暴力”求得答案,再一级一级反馈上去合成大范围的答案,那么最后整个中国有多少人就可以很快得出来了。

​ 这种“大事化小,小事化了”的思想,在\(OI\)中有很大的运用,关于很多东西都会用到这种思想,所以分治,极为重要。

转载于:https://www.cnblogs.com/AKMer/p/9728574.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值