当前位置: 首页 > 后端技术 > Java

计算机专业寒假如何给电池充电?GitHub上的清华大学怎么样?

时间:2023-04-01 23:13:36 Java

二哥的读者中有很多大学生,所以一个大一的朋友来问二哥:“学校的课程设置比较奇怪。新生第一学期学c++,下学期学python。寒假里,我是复习预习课程里的内容(python、c++),还是外扩(c、数据结构)?”就因为这份热爱学习的决心,三年后,互联网公司的offer肯定会手软!说实话,朋友学校安排的课程和我当年的很像,大一也是教Java,刚来的时候是C++下一节课,没有安排C语言过渡。所以我给他的建议是趁着寒假打王者,考高分!1.在GitHub上关注清华大学的开源课程,不行!趁着寒假学习清华GitHub20k+star开源课程!https://github.com/PKUanonym/...带小伙伴们看看清华的课程表,主要针对计算机专业的计算机基础课程大一包括:计算机科学导论、程序设计基础。新生包括:面向对象程序设计基础。大三有:计算机组成原理、计算机网络原理、编译原理、软件工程、数据库系统概论、人工神经网络、计算机网络安全技术、人机交互理论与技术。大三有:操作系统、计算机系统结构、机器学习概论、数据挖掘、搜索引擎技术基础、存储技术基础、数据库专项实训、计算机网络专项实训。大四主要是实习、实习、毕业等,剩下的计算机课程主要有网络安全工程与实践、嵌入式系统。可以看到大一大一大二基本处于钓鱼状态,大三突然开始发育了。动力,各种电脑基础课,很疯狂!俗话说:有志者事竟成,破了船,百二十个秦关终归楚;2.学习C语言推荐一本书和两个视频课程。书是电子书,书名是《阮一峰的 C语言入门课》,一口气看完,受益匪浅!可以说是目前为止我看过最好的C语言入门教程,没有之一!国内大部分高校都会在大一安排C语言课程。阮一风老师的《C语言入门教程》绝对是福气。视频课程由浙江大学翁凯教授授课,一个《C语言程序设计入门》一个《C语言程序设计进阶》一个。学会了这些,你至少可以学会下面思维导图中列出的内容。3.学习数据结构什么是数据结构?数据结构是一组具有一定逻辑关系的数据元素,在计算机中应用一定的存储结构,并封装相应的操作。它包括三个方面,逻辑关系、存储关系和操作。不同类型的数据结构适用于不同类型的应用程序,有些甚至专门用于特定的工作任务。例如,计算机网络依赖路由表来运行,而B树非常适合数据库的封装。我觉得菜鸟教程里面对数据结构的定义还是比较正规的(官方的)。用人类的话来说,数据结构就是将一堆数据按照一定的格式揉捏而成。你喜欢吃宫保鸡丁吗?总之,我很喜欢这道菜。我以宫保鸡丁为例,讲一下数据结构。维基百科上是这样定义的。宫保鸡丁(英文:KungPaoChicken或Kung-PaoChicken),又名宫保鸡丁,是一种荔枝味的辣味。它起源于贵州菜,流传到鲁菜,成为川菜中的川菜名菜。贵州、山东、四川这道菜的做法不同,名称也不同。贵州叫麻辣鸡,山东叫酱炸鸡,四川叫宫保鸡丁。来吧,抽象的宫保鸡丁。structKungPaoChicken{Chicken=[]Peanut=[]Scallion=[]Pepper=[]Pepper=[]}这个结构体(struct是C语言中的一个概念)是一个自定义的数据结构,将许多不同的食材组合在一起。对于计算机的数据结构来说,只是把这些成分换成基本的数据类型而已。以Java为例,基本的数据类型有int、char、double等,比较复杂的有String(引用数据类型),底层是char类型的数组,还有那些自定义类型只是基本数据类型和引用类型的组合。包裹。抽象完宫保鸡丁,我们再抽象一下二哥。class二哥{intage=18;双倍重量=65kg;voideat(宫保鸡丁){重量+=1kg;毕竟,数据结构只是一种抽象的封装。和Java一样,它流行的一个很重要的原因就是它提供了多种方便开发者调用的数据结构,比如对数组封装ArrayList,对链表封装LinkedList,对哈希表封装。封装HashMap、ConcurrentHashMap等C语言没有这些。如果要用,就得自己封装。但是Java和C语言的基本数据类型是一致的,比如int和float。对于初学者来说,通常在敲代码的时候直接调用数据结构,很少去思考这些数据结构是如何实现的。当一个初学者在向高级程序员迈进的时候,一定要静下心来搞清楚ArrayList和LinkedList的内部实现。弄清楚之后,他就会明白为什么它们在增删改查时会有不同的表现。这是因为它们内部使用了不同的数据结构。有一点要说,我2008年刚学Java的时候,真的不明白为什么Java有了ArrayList还要设计LinkedList,不都是集合吗!有害!为什么数据结构如此重要?把套路放大一点,插一段清华大学计算机系教授邓俊辉先生的话。数据结构是计算机科学的重要组成部分,也是构建高效算法的必要基础。所涉及的知识在相关专业的课程体系中始终处于核心位置。以ACM/IEEEComputingCurricula(计算机教学大纲)为例,在几个相关专业(计算机科学、计算机工程、信息系统、信息技术、软件工程)的共同要求中,将数据结构和算法作为编程概念和技能。核心,紧随数学之后,排在第二位。数据结构说复杂也不复杂,说简单也不简单。这并不重要。重要的是你一定要学会!可能有朋友会问,“我数学不好,可以学数据结构吗?”说实话,数据结构和数学之间没有必然联系。小学时,我参加了洛阳数学奥林匹克竞赛,获得了三等奖;初中的时候,我的数学成绩还不错,但进入高中后,因为贪玩腿课,数学成绩直线下降。上大学的时候更是被离散数学和微积分搞得焦头烂额,根本没学多少。但这并不能阻止我学习数据结构,真的。在数据结构中,树是最难的部分。相对来说,像数组、链表、栈、散列表等计算机专业人士稍加努力就可以掌握。说了这么多,数据结构怎么学呢?如果你有C/C++背景,我推荐两本书。第一本书,《趣学数据结构》说到这里,多说几句。2018年,人民邮电出版社的张老师邀请我出一本关于Java的书,我当时想给它取名《趣学 Java》。张老师说,就在这之前,他和陈晓宇老师合作出了一本书,关于《趣学算法》,你要不要出一本书给你看。别说,这本书作为算法的入门书还是蛮合适的。后来,陈小雨老师出了一本新书,名叫《趣学数据结构》。我读了。虽然离“好玩”二字还有点距离,但作为数据结构的入门书籍还是很合适的。第二本书《数据结构(C++语言版)》是的,由清华大学邓俊辉教授主编,豆瓣评分相当高。本书还附有视频课程,可在学堂在线免费观看。我之前也推荐过。课程质量之好,堪称国家级精品课程。如果有时间,一定要再读一遍。如果你有Java基础,我也推荐两本书。第一本书,《数据结构与算法分析(Java 语言描述)》,虽然翻译的不是很好,但是内容很全面,适合作为数据结构的入门书。第二本书,《算法(第 4 版)》叫做Algorithms,但是大家都知道算法是基于数据结构的,比如数组,队列,栈,堆,二叉树,哈希表等等,这些都有涉及。如果时间紧,C/C++程序员只能看《数据结构(C++语言版)》,Java程序员只能看《算法(第 4 版)》。如果你一次不明白,就再读一遍。一位名叫“三星矢Violako的老公”的网友说的好。数据结构就是你写了几百万行,然后数据结构减少到90万行,性能翻倍。嗯,终于学会了!4、用心总结2022年1月,要开个好头。然后趁着寒假在GitHub上刷刷清华的开源课程,还有C语言和数据结构。寒假过后,悬崖是试卷之王。悄悄告诉大家,很多人都说假期一定要打游戏放松一下。这些人正在悄悄滚动。因此,如果您是放松的人,请当心!不要仅仅一个寒假就被抛在后面。希望以上能帮到你!我是二哥@黑黑王二,如果觉得有用,不妨点个赞关注一下,才不会迷失在学习的路上~~