一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1550|回复: 13
收起左侧

[自学] 自学数据结构是用C语言还是Java?

[复制链接] |试试Instant~ |关注本帖
2538752252@qq.c 发表于 2015-6-3 02:12:56 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本人从EE转CS,只学过C语言和java,现在想自学数据结构,请问各位大神,是用C语言学数据结构好呢还是用java好呢?
loveFluffy 发表于 2015-6-7 00:01:11 | 显示全部楼层
为什么楼上都推荐Java呢。。难道只有我推荐C?
-----
个人意见:楼主如果想“学习”数据结构的话,就用C吧,从头写会学的透彻点。但肯定学起来会慢一些。
Java面向对象编程虽然写起来简单,但我觉得学编程从面向过程的C开始学,打基础还是蛮重要的。
-----
当然,如果楼主是想求速成(比方说应对考试、着急着入手做OJ以应对面试、想快速编程入门找自信等等),学Java会快一些,
毕竟我想楼主应该也不是一点编程基础都没有的。
但是这样做,我想学到后面或许在某一天,楼主还会再拾掇起一本C来看看,那个时候楼主或许会对Java里面的一些东西有新的认识。
---------
编程说白了就是数据结构+算法,我觉得在这二者上花再多的时间也不为过。
如果说楼主现在已经把数据结构学的差不多了,那我很推荐楼主直接用Java刷OJ,去进一步学习算法。
因为那个时候已经对基本的数据结构很了解了,没必要再去用C码重复的代码了(确实是像楼上诸位说的,有点浪费时间了)
--------
如果楼主现在是在学习基本数据结构的东西,那这种“浪费”我想还是蛮值得的。
回复 支持 1 反对 1

使用道具 举报

Mr.V 发表于 2015-6-3 03:40:17 | 显示全部楼层
java吧,刷题也好刷,参考答案很多,比较好找
回复 支持 反对

使用道具 举报

rrreeeyyy 发表于 2015-6-4 00:03:51 | 显示全部楼层
用各种语言刷过Leetcode,感觉C语言是最难的。
指针和内存管理什么的最烦人了。
回复 支持 反对

使用道具 举报

calalia 发表于 2015-6-4 10:28:56 | 显示全部楼层
Java ~

会C的话 看下面向对象之类的几个概念就可以上java了  比如方法神马的~
我是先熟悉了一下最基本的java语法 诸如建数组之类的
java确实比C看上去舒服

第一遍leetcode的时候 都看答案 看多了就知道了 大部分时候不懂的语法查一下就出来了
不懂的话截图问下CS的同学 一下就告诉你啦

还是Java好
之前的数据结构参考书有找java和C的 其实C也是大一学的过了好多年了,看着真心累 不推荐
而且就是为了刷题嘛~~ 到时候刷题的时候反正也是要java的
回复 支持 反对

使用道具 举报

U.S.A 发表于 2015-6-4 12:39:11 | 显示全部楼层
能否不学C语言直接学java?
我几乎把学过的C语言知识全都还给老师了
回复 支持 反对

使用道具 举报

victorsterling 发表于 2015-6-4 22:02:32 | 显示全部楼层
U.S.A 发表于 2015-6-4 12:39
能否不学C语言直接学java?
我几乎把学过的C语言知识全都还给老师了

我是这么打算做的
回复 支持 反对

使用道具 举报

U.S.A 发表于 2015-6-4 22:50:33 | 显示全部楼层
本帖最后由 U.S.A 于 2015-6-4 22:52 编辑

但我也有一个问题
C语言诞生于1972年但至今仍然没有被淘汰C语言几乎是所有接触计算机编程的必修课
所以C语言肯定有其过人之处
好比一些基础的小学数学知识永远不会被淘汰而且非常重要


回复 支持 反对

使用道具 举报

xenophobic 发表于 2015-6-5 06:39:24 | 显示全部楼层
支持java吧 而去java用的多
回复 支持 反对

使用道具 举报

beer 发表于 2015-6-5 16:25:26 | 显示全部楼层
U.S.A 发表于 2015-6-4 12:39
能否不学C语言直接学java?
我几乎把学过的C语言知识全都还给老师了

刷题可以的哦
不过如果修OS课的话,必须要会C的
回复 支持 反对

使用道具 举报

zyhswr 发表于 2015-6-7 04:52:36 | 显示全部楼层
vote for Java
回复 支持 反对

使用道具 举报

Howie 发表于 2015-6-7 16:05:51 | 显示全部楼层
U.S.A 发表于 2015-6-4 22:50
但我也有一个问题
C语言诞生于1972年但至今仍然没有被淘汰C语言几乎是所有接触计算机编程的必修课
所以 ...

你这两个理由其实都不成立。。。语言没有淘汰有各种各样的原因,并不一定是因为他有过人之处,有可能只是之前这样写了太多,真的是不好改。pascal VB 都没有淘汰啊。

C语言已经不是很多计算机专业的必修课了。至少在国外是这样的。
回复 支持 反对

使用道具 举报

U.S.A 发表于 2015-6-7 17:55:02 | 显示全部楼层
本帖最后由 U.S.A 于 2015-6-7 21:19 编辑
Howie 发表于 2015-6-7 16:05
你这两个理由其实都不成立。。。语言没有淘汰有各种各样的原因,并不一定是因为他有过人之处,有可能只是 ...

我问了一个计算机博士前面的问题:为什么C语言没有被淘汰
他的回答就是C语言是所有编程语言的基础,就好像所有人都要学小学数学一样,编程领域的人都要学C语言

感谢您的信息
看来“C语言是所有编程语言的基础”这个论断不完全正确
回复 支持 反对

使用道具 举报

CSBrogrammer 发表于 2015-6-9 16:54:45 | 显示全部楼层
如果对c syntax以及那些low level structure的东西都有一定的了解了的话直接上java吧,我认为如果按abstraction level来排序的话c < c++ < java < python etc,也就是c能给你最多的power and control但也最low level(aka, 对于解题来说最复杂但performance也许能最好),java就much more higher level了所以你不需要担心太多low level的东西,像是pointer或者memory management etc。但如果你不熟悉c的话java的许多东西最终结果是你知道怎么用但是不知道what is going on behind the scene,所以不利于你的长期发展,毕竟c是所有c syntax languages的老祖宗。这些只是小弟的愚见
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-7 16:48

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表