刘老师为啥不用C 语言来讲呢?

来源:4-8 索引堆(Index Heap)

慕斯卡3162337

2018-10-13

在大学里面就学的C语言,而且C语言很强大 很想老师通过C语言来讲课。

写回答

3回答

liuyubobobo

2018-10-13

实际上,我的后续课程,从《看得见的算法》开始,到《玩转数据结构》,都会使用Java语言,连C++语言都抛弃了:)


不使用C/C++不是因为这些语言不够强大,而是因为C/C++语言编写需要顾及太多语言层面的内容,而不仅仅是算法或者数据结构本身。比如内存管理,比如指针,等等等等。实际上,所有的“高级语言”,都是为了让开发者尽量少的“操心”底层机制的问题,而尽量多的去考虑上层逻辑:)


至于C语言,除非讲操作系统,否则我肯定不会选用C语言。因为C语言连面向对象的基本语法支持都没有。通过这个课程的学习,你也应该能看到,绝大多数数据结构,都是适用于面向对象的编程范式的。每一个结构本身是一个类,每一个结构相应的操作是类中的方法。这一点,在我的《玩转数据结构》课程中,更会体现的淋漓尽致:)


当然,并不是说使用C语言无法使用面向对象的思想,但是,绕了一个大弯。其实,我个人认为,在当下,使用Java是最适合学习算法与数据结构的,其次是C++:)

5
0

算法请爱我emmm

2019-08-06

用c++/java学习数据结构还可以深刻体会一下面向对象的思想,也更加可以回归到数据结构和算法本身。

我个人觉得把c++写的类拆分了基本上就是c的代码啦

0
0

不务正业的码农

2018-11-16

老铁,只学C不能只会C啊,写C你不累吗。。。

0
0

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程