数据结构与算法:你们有什么建议?

发表时间: 2024-01-09 17:41


原问题

我在一所二本院校,计算机科学与技术专业,现在是大一的暑假,我大一上学期通过转专业转到计科的。是这样子的,我们学习的计科专业是与校企合作的,收费也会贵一点,属于高收费专业。而且我们学校计科专业偏向于Java语言,比如C或者是Python就只是学一点简单语法吧可能,而Java的话会学框架的那种程度。大二的时候我们会学数据结构与算法,应该是Java版的,但我以后是想考研的,所以我暑假学C语言版的还是学Java版本的啊?他们两个版本会不会相差太多呀?

原回答

我可以告诉你一句,算法和数据结构最重要的是算法思想,跟语言没关系,不必纠结这个。

你先想清楚、想明白,然后找合适的语言去实现就可以,也就是需要关注一些细节而已,比如C语言和C++无GC(垃圾回收),可能要考虑内存的释放,不然可能发生内存泄露问题,而Java,Go等语言因为有GC,就不用过于考虑这个问题,别的倒无所谓。

一定要先把算法思想理解透了,先看书(下面附上链接),然后再去找练习题做题,可以选leetcode、lintcode,或者各种OJ也可以。

常见的练习网站:

leetcode(力扣):https://leetcode.cn/

LintCode 炼码(领扣): https://www.lintcode.com/

POJ(北京大学OJ):http://poj.org/

这三个就够用了。

一些题解网站可以参考:

代码随想录:https://programmercarl.com/

宫水三叶的刷题日记:https://sharingsource.github.io/tags/

力扣加加:https://leetcode-solution.cn/book

Hello算法:https://www.hello-algo.com/

吴师兄学算法:https://www.cxyxiaowu.com/

算法专业书籍可以看看我之前的回答,仅供参考。

链接如下:算法与数据结构入门导论 - 幻境逐梦的文章 - 知乎 https://zhuanlan.zhihu.com/p/655166018

你学Java, 偏Java技术栈的话,《算法4》一定要过两遍,扎扎实实往过看,动手敲。

能帮你的就这些了,剩下就看你的悟性和训练了。