学习数据结构和算法的书籍/方法?

3

我是一名自学的Ruby on Rails工程师,想提高我的计算机科学理解。然而,大多数关于数据结构和算法的书籍都是用Java/C/C++等语言编写的,而我并不熟悉这些语言。是否有使用Ruby讲解这些主题的文本?或者你认为Java与Ruby足够相似,我可以从书中学到东西?

对于像我这样的背景,有没有推荐的文本书籍?

P.S. 最近我一直在研究Objective C,因此我并不完全陌生于静态类型语言。


我认为Java/C++和Ruby非常不同。Java/C++:显式类型int a = 42,最新的C++标准有干扰类型的auto关键字),类不是对象,可读性差(对于简单函数定义,您必须编写很多单词)。而Ruby:没有显式类型a = 42),一切都是对象(或者至少可以通过一些转换变成对象:块),它具有良好的可读性(除了end{}之外,您不必写太多)。因此,我认为即使没有基本的C/C++技能,阅读那些书也会很困难。 - Darek Nędza
你可以尝试访问http://gameprogrammingpatterns.com/,我认为它很容易阅读(作为当前的Ruby用户),但我可能会错(作为多语言程序员)。 - Darek Nędza
1
我认为这就是你要找的:http://www.brpreiss.com/books/opus8/ - Alexander Popov
2个回答

2

2

如果你打算学习Obj-C,那么先学习C可能非常值得。Objective C与C紧密相关,只是语法上有些奇怪。在这种情况下,你可能想要考虑学习C的圣经K和R,先学习基础知识和数据结构。稍后可以进一步扩展。此外,如果你正在学习Objective C编程iOS,你可能需要跟上潮流,学习Swift,因为苹果公司正在向Swift转移。实际上,Swift要容易得多,而且更接近Ruby!

祝你好运。


谢谢Tom。是的,我正在学习Objective C以学习iOS开发。我认为Swift应该很容易学习,因为它类似于Ruby。由于市场仍然99.9%使用Objective C,我将首先学习其基础知识,然后再学习Swift,因为我们至少需要1-2年的过渡期才能看到“Swift开发人员”工作。 - bigpotato
@Edmund和@Tom,我认为它与Ruby不太相似。我浏览了一下Swift用户指南0.94 - http://swift-lang.org/guides/release-0.94/userguide/userguide.html,可以说几件事情:它更类似于C/C++。它使用类型(如C/C++)。它有类似于Julia的“type”构造 - http://julia.readthedocs.org/en/latest/manual/types/#composite-types,或者就是C的“struct”。它使用更多的函数式调用方式,比如neko - http://nekovm.org/specs#hashtables:<type><function_name>,例如hadd(哈希添加),在Swift中是strjoin。它不使用each而是使用for(像Lua或Python)。 - Darek Nędza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接