0

我买了一份《Cracking the Coding Interview》,想通过练习。我精通 Python 和 Clojure,想知道它们是否适合此目的。如果我严格限制只使用我创建的列表和类(或记录),我是否仍会在学习方面获得全部好处(内存管理之外),还是应该回到 C/Java(我没有几年都没碰过)?

4

3 回答 3

4

知道如何实现以及何时使用哪些算法和数据结构是任何语言的一项重要技能,并且大多数算法都可以用所有主流语言实现。

关于它们的要点是程序的可伸缩性,即随着输入的增长而优雅地降低性能。这比切换到较低级别的编程语言所获得的恒定因子加速要重要得多。

于 2013-02-06T12:49:09.993 回答
0

如果您正在编写一个具有实际性能要求的真实程序,您可以使用 C 而不是 Python 编写它,从而获得一些优势。但是,您主要对要使用的算法感兴趣。几乎所有算法都可以用任何语言实现,因此使用哪种语言并不重要。如果您擅长 Python 或 Clojure,请使用它们。

编辑:不能以任何所有语言实现的“算法”示例是Duff 的设备

于 2013-02-06T12:48:35.137 回答
0

我认为任何通用语言都适用于数据结构。

然而,就像在 Python 中一样,许多数据结构已经是该语言的一部分。当然,您可以添加数据结构,但已经实现了很多,因此不需要再次执行(除非您想更好地了解内部结构)。

也许考虑深入研究数据结构是否有用也很有用(意思是:Python 是否提供了足够的东西,还是只是收集知识的问题)。

于 2013-02-06T12:48:44.677 回答