算法解题思想:分而治之和归纳证明的区别?
业务背景
最近在看图解算法这本书
其中在递归里面介绍到了分而治之
然后又在选择排序里面介绍了归纳证明
我的理解
递归(分而治之)就是把大问题拆分成小问题,重复执行这个小问题就行了
快排(归纳证明),和递归是一样的啊....
问题
这两个的区别究竟在哪里呢????
感觉我如果无法说出它们的区别,就木有真正的搞懂递归和快排.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
递归,分而治之,归纳是三个维度的事情.
递归只是一种重复的方式;
分而治之是一种处理问题的思想,子问题可以完全不相交,也可以有部分相交;
归纳证明,这个是数学概念,基本无争议.
回到你的问题
快排是完全不相交的分而治之,我们往往使用递归的方式来解决子问题.
选择排序的证明是归纳证明,子问题和原问题只差一个元素,我们也可以用递归的方式来解决子问题.