我应该在OOP之前学习递归吗?

时间:2009-10-07 04:50:57

标签: c++ oop recursion

我在空闲时间阅读这本C ++书籍“用C ++解决问题”。我已经完成了4章,现在我处于分裂状态。我可以转到第5章,即文件操作和OOP简介,或者我可以转到第12章递归。到目前为止,我只讨论了编译器基础知识,if,else和loop syntaxy jazz,以及通过引用调用和值函数调用。这本书没有提及在oop之前是否更好地学习递归,但它确实说某些教师可能更喜欢以这种方式教学,并且可以跳到第12章然后回去。我是两个范例的新手,只想知道我先学习一个是有益的.....并且是的,我打算学习两者,所以不要那么聪明的人。

11 个答案:

答案 0 :(得分:9)

递归是一个数学上的基本概念,但我不认为它是C ++中的一个关键主题,因为它可以让你值得花时间跳过文件,OOP和其他非常实用的概念。教师可能希望重新编写章节/科目以适应他们自己的教学风格,但是,如果缺少教师,我建议按照他们的自然顺序继续学习章节(毕竟,这必须是书籍作者所喜欢的顺序! - )并且在你拥有OOP之后进行递归,文件和文件在你的带下。

答案 1 :(得分:7)

免责声明:这确实是一个意见问题。话虽如此,你应该先学习递归。

答案 2 :(得分:5)

本书的作者在第12章中提出了递归,而不是第5章。

答案 3 :(得分:3)

无论你是否学习OOP,你都必须了解递归。这是一个基本章节。

答案 4 :(得分:3)

递归和OOP不是互斥的 也就是说,无论你是先了解递归还是OOP都没关系。

OOP是您构建代码的方式 递归是表达给定问题的解决方案的方法,可以通过迭代来解决。

答案 5 :(得分:1)

首先递归。

递归是编程中一个非常基础和基本的结构;如果你不了解它,你还不知道编程的基础知识。

另一方面,OOP是一种高级代码组织方法。

首先了解低水平。

答案 6 :(得分:0)

OOP和递归是两个截然不同的事情。与递归相比,OOP是一个更大的概念。我建议你按照书中的顺序进行操作。如果他不打算在第12章谈论递归那么他也不打算使用它。所以你不会错过任何事情。

答案 7 :(得分:0)

首先递归。因为你应该在学习对象之前学习函数。递归主要是关于函数。

答案 8 :(得分:0)

递归与OOP无关。在教授递归时,人们使用Fibonacci sequence;在教授OOP时,人们通常会说“汽车有四个轮子”。

我建议你去对你更有趣 - 在这种情况下它似乎是递归。递归作为解决方法的基础问题,如果不比OOP更重要,则与OOP一样重要。

答案 9 :(得分:0)

在我个人看来,我会说首先使用递归,但是花更多时间在oop上。

此外,如果你得到的是:一个人会帮助你更好地学习另一个 - 那么是和否。

是的,因为一旦你在编程中学到了一门,你学习的下一件事(甚至是无关的)将更容易学习,因为你在编程方面获得了越来越多的经验。

不,你在彼此学习这些内容的顺序并不重要。

答案 10 :(得分:0)

真正理解递归的唯一方法是让问题有效地解决,然后编写递归代码。一个人不会悠闲地学习它。等到你需要它。

尽管如此,希望你的递归时刻不会像我一样接受采访。