关于学习数据结构用什么语言好

来源:15-1 更广阔的数据结构的世界,大家加油!

天上掉下个小馅饼

2019-01-22

bobo老师您好,虽然您在课程中有说过用什么语言实现都可以,但是我还是想问一下最好用一下什么语言呢,因为我也百度过,说是用C语言最好,最接近底层,但是我学了一下之后发现C语言掌握得不是很彻底,用C语言来学的话又要费时间去学一下C语言,所以想问下用什么语言重要吗,以后公司面试有规定用什么语言实现吗,麻烦老师啦:)

写回答

1回答

liuyubobobo

2019-01-23

在这个课程的第一张,我已经向大家介绍了,我个人认为Java语言是最好的,其次是C++。之所以其次是C++,只是因为C++的语法更复杂一点儿而已(需要处理内存,指针等问题。)


我本人非常不建议使用C学习数据结构,因为C不支持面向对象,而数据结构本身是非常适合采用面向对象的编程思想去编写的。学习了这个课程,你也应该已经看到了,我所介绍的每一个数据结构都可以非常好的包装成一个类。无论是C++的STL还是Java得标准库,也都是很好的使用C++和Java封装数据结构的例子。而C语言的标准库中,对高级数据结构的封装都是缺失的。就是因为C语言并不是很适合进行封装。(但不是不可以)。


接近底层永远不是一个好理由。汇编比C更接近底层,为什么不用汇编学习数据结构?:)


当然,一旦你掌握了数据结构,就会明白,数据结构本身只是逻辑思想而已,和语言无关。很多同学会使用写数据结构和算法的方式,来巩固其他语言的学习。我个人也是很推崇这样的方式的。只不过从初学的角度,我认为使用Java的障碍会小一些。


至于公司面试,各个公司不一样。比如Google的面试问题,要求只能使用Java, C++, Python, Go其一进行编码,哪怕你应聘的职位主要使用的是JS或者Swift。但整体上,大多数公司会允许你使用你应聘的岗位语言进行编写的。数据结构是和语言无关的,数据结构的关键是解决问题:)每一个语言的标准库,都包含大量的数据结构的实现。


加油!:)

1
1
天上掉下个小馅饼
非常感谢!谢谢老师,受益匪浅啦:)
2019-01-23
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程