是不是因为java语法比较简单,容易实现,直接接触算法思想,而不会像使用c++那样有很多语法细节?
这是要撕逼啊。
你说的三个语言我算是都学过,C++和Java都是不错的选择。
多说无妨,容易不容易都是具有主观性的。你不如尝试买3本C、C++、Java语言描写的算法书都浅看一遍,喜欢就学下去。
这取决于你打算从练习中学到什么,算法很多情况下是语言无关的,但是如果想理解很基本的数据类型数据结构的操作(比如数组和链表为什么在不同领域分别有不可替代的用处),那最好就绕过已经对这些基本结构进行过的封装。java c++已经对集合类型做了很不错的封装,有的c库也做了这样的事情,所以更多的应该是去绕过这些已经实现了的API用简单数据类型配合控制、循环、函数等机制去实现,而不太应该说绕过某个语言
最近我要复习算法的东西,我使用 Golang。
算法应该是比语言更高一层的东西,你能明白算法的思想,随便换一种语言你都应该能实现。
假设某种算法你只能在特定的一个语言下实现,那么你也只能算是学会语言,而不是算法。
支持以上全部争论。
C语言挺好的,但是也有一些缺点,比如到了hash那里,用C就稍微有点麻烦。Java太大了,封装太多。还是那句老话:程序=数据结构+算法。语言上没必要纠结,你觉得什么语言熟就用什么。
15 回答8.4k 阅读
8 回答6.2k 阅读
3 回答2k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
建议初学数据结构的同学直接使用C,绝不建议使用Java。C能让你进一步了解底层的代码的实现和算法思想,Java封装太深,让人很容易忽略底层代码(底层代码不容易看到)。对于算法我建议使用C++或是Java,算法侧重思想和实现,语言其次了(在不考虑算法性能的情况下)。如果可以最好都用C,会是你未来受益无穷。