我的第一个,10 万

共 5087字,需浏览 11分钟

 ·

2022-01-14 08:36

恭喜这个 B。。。。。。站上的 UP,上一期视频播放量突破了 10 万!这也是二哥人生当中的第一次,凭借单条视频突破 10 万播放,必须得纪念下。

从众多的宫斗剧中我得出了一条宝贵的人生经验:“母凭子贵”。这条经验同样适用于二哥本人,可能会因为这一期视频,吹这辈子最多的牛逼:这不,荣获哔哩哔哩第 3 周【校园优秀奖&校园新星奖】。

我已经按捺不住激动的心情,在两万人的朋友圈大肆炫耀了。十万播放,对于百大 UP 来说,可能就是分分钟的事,可对于我这个(未来的) B站百大来说,苦苦等了 149 天!!!!!!!

这真是一个漫长的日子,鬼知道这些天我经历了什么。

我一度怀疑自己到底适不适合拍视频,表情的僵硬,普通话的塑料,甚至连自己一项引以为荣的台本,都觉得拉胯。

可就因为这个视频,让我重获新生,亢奋的心情一直在持续。我知道,一条视频的播放突破 10 万,并不意味着下一个视频也会有 10 万的播放,但好歹能让我感到幸福会,至少可以“厚颜无耻”地再吹一次牛皮吧!

昨天的文章里,承诺新的一年 2022 年把肝重新交给大家,我就会说到做到:这年头,职场就流行这个“沙雕”文化,你有没有能力不重要,重要的是领导交代你的有没有去执行

二哥打算豁出去了!

新一期视频也上传到 B 站了,希望能借英雄哥的吉言,再爆一次。链接我放这里了:

https://www.bilibili.com/video/BV1za411q79U/

三不三连没关系,有关系的是不三连可能会对不起二哥的肝,所以还是三连吧,哈哈哈哈,瞧瞧我们这该死的生物钟,起这么早。。。

接下来,上干货,我把这期 10万+ 播放的视频台本重新整理了一下,本来不想发的,很多小伙伴私信说二哥偏爱 B 站,同步都懒得同步了吗?

这不,赶紧发到公众号上来,希望学生党们现在立刻马上收藏起来,这个寒假你会过得非常充实;至于工作党嘛,像二哥这样的,既要工作,又要读书写作照顾家庭的,忙都忙死了,就算了吧!

啊,不,还是要稍微卷一卷吧,免得被那群还有半年就毕业的家伙们拍死在沙滩上。。。。


二哥的读者当中有不少大学生,所以当知乎上刷到这个题目时:

“学校课程规划的比较奇怪,大一上学期学c++,下学期学python,在寒假我是应该复习或预习课内内容(python,c++),还是自己对外拓展呢(c,数据结构)?”

立马就冲上去答了一波。

就冲这份爱学习的决心,三年后绝对互联网公司的 offer 拿到手软

讲真,小伙伴学校安排的课程和我当年非常相似,也是大一上来就搞 Java,隔壁班上来就搞 C++,完全没有安排 C语言来过渡下。

所以我的建议是,趁寒假打打王者上上分吧

啊,不!趁寒假刷一波清华在 GitHub 上 20k+ star 的开源课程吧

一、清华大学在 GitHub 上的开源课程

地址:https://github.com/PKUanonym/REKCARC-TSC-UHT

我来带小伙伴们过一下清华的课程安排哈,主要是针对计算机专业的。

大一上的计算机基础课程有:计算机科学导论、程序设计基础

大一下有:面向对象程序设计基础

大二上有:数据结构

大二下有:人工智能导论、计算机图形学基础、高性能计算导论

大三上有:计算机组成原理、计算机网络原理、编译原理、软件工程、数据库系统概论、人工神经网络、计算机网络安全技术、人机交互理论与技术

大三下有:操作系统、计算机系统结构、机器学习概论、数据挖掘、搜索引擎技术基础、存储技术基础、数据库专题训练、计算机网络专题训练。

大四主要是实践、实习、毕设等,剩下的计算机课程主要有网络安全工程与实践、嵌入式系统。

可以看得出,大一大二基本上是在摸鱼状态,大三突然开始发力,各种计算机基础课程,非常疯狂!

不过:

有志者事竟成,破釜沉舟,百二秦关终属楚;
苦心人天不负,卧薪尝胆,三千越甲可吞吴!

二、学习 C语言

推荐一本书,两门视频课

书是电子书,书名叫《阮一峰的 C语言入门课》,我第一时间就拜读了一遍,受益匪浅!可以说目前我见到的最好的 C语言入门教程了,没有之一!国内的绝大多数高校,大一都会安排 C 语言这门课,阮一峰了老师的这份《C语言入门教程》,绝对是福音。

视频课是浙江大学翁恺教授的,一门《C语言程序设计入门》,一门《C语言程序设计进阶》。

学完这些,大家至少能学会下面这幅思维导图中列出来的内容。

更多 C 语言的学习内容,可以戳下面这个链接,之前在公众号上发过了,这里就不再复制粘贴了:

大一新生应该如何学习C语言,书上代码看不懂理解不了怎么办?

三、学习数据结构

什么是数据结构?

数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素集合。它包含三方面的内容,逻辑关系、存储关系及操作。不同种类的数据结构适合于不同种类的应用,而部分甚至专门用于特定的作业任务。例如,计算机网络依赖于路由表运作,B 树高度适用于数据库的封装。

菜鸟教程上对数据结构的定义我觉得还是蛮正式(官方)的,说人话就是,数据结构就是把一堆数据,按照某种格式揉成一坨

大家喜欢吃宫保鸡丁吗?

反正我挺喜欢这道菜的。我就以宫保鸡丁为例,来讲一讲数据结构吧。维基百科上是这样定义的。

宫保鸡丁(英语:Kung Pao chicken或Kung-Pao Chicken),又称宫爆鸡丁,呈糊辣荔枝味,源于黔菜、流传至鲁而后成于川菜的一道川味名菜。贵州、山东和四川三地对这道菜的做法不完全一样,称呼也有差异。贵州称为糊辣子鸡丁,山东则名为酱爆鸡丁,而四川是以宫保鸡丁为名的。

来,抽象下宫保鸡丁。

struct KungPaoChicken {
  鸡肉 = []
  花生 = []
  葱段 = []
  花椒 = []
  辣椒 = []
}

这个结构体(struct 是 C 语言中的一个概念)就是一个自定义的数据结构,将很多不同的配料融合在了一起。对于计算机的数据结构来说,只不过是把这些配料换成了基本数据类型。

拿 Java 来举例,基本的数据类型有 int、char、double 这些,复杂点的有 String(引用数据类型),底层是 char 型的数组,而那些自定义的类型不过是对基本数据类型和引用类型的封装。

抽象完宫保鸡丁再来抽象一下二哥吧。

class 二哥 {
  int age = 18;
  double 体重 =  65kg;
  
  void eat(宫保鸡丁) {
    体重 += 1kg;
  }
}

伪代码不是很严谨哈,大家理解这个意思就行了。

说到底,数据结构不过是一种抽象后的封装。像 Java,它之所以流行的一个很重要的原因,就是它提供了多种多样的、方便开发者调用的数据结构,比如说对数组的封装 ArrayList、对链表的封装 LinkedList、对哈希表的封装 HashMap、ConcurrentHashMap 等等。C 语言就没有这些,想用的话,就得自己封装。但 Java 和 C 语言的基本数据类型是一致的,int、float 这些都是相通的。

对于初学者来说,平常敲代码都是直接去调用数据结构的,是很少去想这些数据结构是怎么实现的。

当一个初学者向高级程序员迈进的时候,就必须得静下心来,去搞清楚 ArrayList 和 LinkedList 的内部实现,搞清楚之后就会明白,之所以它们在增删改查的时候性能上有差异,就是因为它们的内部使用了不同的数据结构所导致的。

有一说一,我在 2008 年刚学 Java 的那会,真的是不理解,为什么明明有了 ArrayList,Java 还要设计 LinkedList,不都是集合嘛!

害!

数据结构为什么这么重要?

我直接放大招吧,甩一段清华大学计算机系教授邓俊辉老师话吧。

数据结构是计算机科学的关键内容,也是构建高效算法的必要基础。其中涉及的知识,在相关专业的课程系统中始终处于核心位置。以 ACM/IEEE Computing Curricula(计算机教学大纲)为例,其中对于几个相关专业(计算机科学、计算机工程、信息系统、信息技术、软件工程)的共同要求中,数据结构与算法作为程序设计概念与技能的核心,紧随在数学之后,排在第二位。

数据结构说复杂也不复杂,说简单也不简单,这不重要,重要的是必须得学!

有小伙伴可能会问,“我数学学的不好,学数据结构能学会吗?”

说句实在话,数据结构和数学之间没有必然的关系。我上小学的时候,参加过洛阳市的奥林匹克数学竞赛,还得了三等奖(偷偷地加个粗);初中的时候,数学成绩也一直保持得不错,但上了高中之后,由于贪玩,数学成绩一落千丈,成了瘸腿课。大学的时候对离散数学、微积分这些更是头大。

但这并不妨碍我学习数据结构,真的。数据结构中,树算是最难的一块了,像数组、链表、栈、哈希表这些相对来说,计算机专业的,只要稍微下点功夫,都是能掌握的。

说了这么多,数据结构到底该怎么学呢?

如果你有 C/C++ 的底子,我给推荐两本书。

第一本,《趣学数据结构》

说到这,多说一嘴。2018 年的时候,人民邮电出版社的张老师邀请我出一本 Java 方面的书,我当时想命名为《趣学 Java》。张老师说,刚好之前和陈小玉老师合作出了一本《趣学算法》的书,要不发一本你看看吧。

你别说,这本书还挺适合拿来作为算法的入门书呢。后来,陈小玉老师又出了一本新书,叫《趣学数据结构》,我看了,虽然离“趣”字有点距离,但很适合作为一门数据结构方面的入门书。

第二本,《数据结构(C++语言版)》

对,清华大学邓俊辉教授编著的,豆瓣评分也蛮高的。这本书还配套了视频课程,是免费的,可以在学堂在线上看,我之前也有推荐过。

课程质量木得说,算是国家级精品课了。大家有时间的话,一定要刷一遍。

视频地址:https://www.xuetangx.com/course/THU08091000384/7755489

对了,还有浙江大学陈越姥姥的视频课:

视频地址:https://www.bilibili.com/video/BV1JW411i731

如果你有 Java 的底子,我也给推荐两本书。

第一本,《数据结构与算法分析(Java 语言描述)》

虽然翻译得不怎么样,但内容很全面,适合拿来作为一本数据结构的入门书。

第二本,《算法(第 4 版)》

虽然名为算法,但大家都知道,算法是基于数据结构的,数组、队列、栈、堆、二叉树、哈希表等等,这些数据结构都讲到了。

如果时间比较紧的话,C/C++ 程序员只看《数据结构(C++语言版)》就行了,Java 程序员只看《算法(第 4 版)》就行了。如果一遍没看懂的话,再看一遍就好了。

有网友“三色院堇子的老公”说得好。

数据结构就是你已经写了几百万行,然后数据结构减到 90 万行,性能还翻倍,嗯,终于学会了!

四、走心总结

2022 年 1 月份,很有必要开个好头。

那么趁寒假刷一波清华在 GitHub 上的开源课程,还有 C语言和数据结构,寒假过后,绝壁是卷王中的卷王。

悄悄地告诉大家一声,很多说放假了一定要打打游戏,一定要放松下,这些人都在悄悄地卷。

所以说,如果你是正在放松的那个,可要小心了!

不要一个寒假就被甩开了差距。

工作党其实也一样,适当放松,时刻警惕,该学的时候还是要能支棱起来。


以上,希望能帮助到大家!

没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟

推荐阅读

浏览 58
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报