和弟弟聊大學(xué)計算機

去年表弟剛參加完高考,在我的極力忽悠下,他把所有專業(yè)志愿都填上與計算機相關(guān)的專業(yè),最終被網(wǎng)絡(luò)工程專業(yè)所錄取。剛進大學(xué)那會兒,他對我說,他覺得很迷茫,問我大學(xué)要怎么過。第一次有人問我這個問題,我也有點懵,就和他東拉西扯了一會兒,想到哪兒說哪兒。

他們學(xué)校的學(xué)習(xí)安排比我們當(dāng)年要緊湊得多,老師還讓他們牢記,“大學(xué)比高三更緊張”。而我們學(xué)校對我們差不多是放養(yǎng)政策,課時少,作業(yè)更少,每天都有大把大把的自由時間。大一上學(xué)期,我閑得發(fā)慌,不知道干什么,曾去街上發(fā)過傳單,去別人家里做過家教,去社團寫過新聞稿,去學(xué)生會打過雜,去長白山旅過游,和閨蜜講過兩次相聲,還和班草談過一段小戀愛。真的是小戀愛,兩個月不到就分手了。雖然時間很短,但畢竟是我的初戀,要說不傷心是不可能的,感覺整顆心就好像浸泡在陳年老酒之中,又酸又澀。情場失意,考場得意。剛失戀的那半年,我用學(xué)習(xí)來麻痹自己,結(jié)果年級排名直接從50名左右一躍成為年級第一,體重也直接掉了15斤。后面,我就一直開啟學(xué)霸模式,直到保研結(jié)束。

表弟聽說我在大學(xué)玩ACM,覺得很高大上。我告訴他,ACM是用來打基礎(chǔ)和培養(yǎng)興趣的。他們學(xué)校有OJ網(wǎng)站,剛開始的時候,表弟興趣濃濃,天天刷題,還經(jīng)常和我探討。從他發(fā)的消息中,我能夠明顯感受到他ac掉一道題目時的那種激動心情,我也經(jīng)歷過那些興奮的時刻。我對他說:“厲害啊!第一個學(xué)期結(jié)束時姐姐連scanf都不會寫。”有一次,他碰到《求一元二次方程的根》的題目,提交了8次都沒過,就讓我?guī)退纯础N易x了一遍代碼,也沒有發(fā)現(xiàn)問題,就設(shè)計了一些測試用例,重點測試邊界情況,最后發(fā)現(xiàn)是“-0”和“0”輸出不一致的問題。我先簡單給他說了一下問題出在哪兒,以及怎么修改,然后提醒他要注意代碼規(guī)范,爭取以后能寫出優(yōu)雅的代碼,最后告訴他要學(xué)會自己調(diào)試程序、設(shè)計測試用例。

表弟玩ACM就是三分鐘熱度,玩了一個月就堅持不下去了,興趣點轉(zhuǎn)移到了社團樂隊上,聽說他還是樂隊主唱。他特別喜歡張國榮,幾乎會唱哥哥的每一首歌,他還把自己翻唱的歌發(fā)布在網(wǎng)上,并給我發(fā)了鏈接。我一個音盲,自然是聽不出他唱得好壞。但媽媽曾告訴過我,弟弟唱歌唱得很好,音全在調(diào)上,而且很有韻味。當(dāng)?shù)艿軉栁页迷趺礃拥臅r候,我立馬說:“唱得特別好聽!羨慕嫉妒恨啊!”

弟弟說微積分和線性代數(shù)好難學(xué),泰勒公式好難掌握,矩陣什么的已經(jīng)聽不懂了,問我這些東西是只有考試會考,還是以后也會用得上。我條件反射地回答數(shù)學(xué)很重要,以后也會用得上。但真要我回答哪里用上了,我一時半會也答不上來。當(dāng)初學(xué)數(shù)學(xué)的時候,我就是單純地覺得數(shù)學(xué)很有趣,并沒想過以后有沒有用。

我的所有數(shù)學(xué)成績:(100+95+95+100+99+98+96) / 7 = 97.57

我翻了翻自己的大學(xué)成績單,發(fā)現(xiàn)自己數(shù)學(xué)科目的平均分竟有97.57。這份大學(xué)成績單勾起了我的很多回憶,僅《組合數(shù)學(xué)導(dǎo)論》就勾起了我的兩段回憶。一段是在最后一堂課上做了一次《組合數(shù)學(xué)之趣味題》的報告,其中有一節(jié)是講錯排問題的。這節(jié)快講完的時候,我拋出了一個問題:“當(dāng)n大于8時,全錯排的概率接近于一個常數(shù)36.79%。這是我用程序跑出來的數(shù)據(jù),但我不知道為什么是一個常數(shù)。有興趣的同學(xué)可以試著自己證明。”結(jié)果還沒等到下課,一個不認識的男生就給我遞了一張紙條,上面寫滿了證明過程。我看得云里霧里,下課又和那個男生討論了一下才弄明白,原來那個常數(shù)36.79%是1/e(e是自然常數(shù),約為2.71828)。因為這件事,我倆成了好朋友。他比我低一級,是數(shù)學(xué)系的,兩年后得了遼寧省數(shù)學(xué)專業(yè)奧賽第一名,學(xué)校大門的宣傳欄里還放過他和他老師的照片。認識他之前,我覺得自己數(shù)學(xué)很厲害,認識他之后,我覺得自己數(shù)學(xué)很一般。另一段是中科院筆試時,有一道Ramsey定理的證明題,即世界上任意6個人中,總有3個人相互認識,或互相皆不認識。《組合數(shù)學(xué)導(dǎo)論》這門課讓我對組合數(shù)學(xué)產(chǎn)出了興趣,暑假的時候就花了三天時間看了60集北師大的組合數(shù)學(xué)視頻。因為只看過一遍,所以對具體證明過程印象很模糊,但主要思想還是記得的,即將原問題轉(zhuǎn)化成線段的二染色問題,并利用了抽屜原理。當(dāng)時這道題只有我一個人證出來了,科院的老師和師兄都很驚喜,這也成為他們收下我的原因之一。

全錯排問題:一個人寫了n封不同的信及相應(yīng)的n個不同的信封,他把這n封信都裝錯了信封,問都裝錯信封的裝法有多少種?都裝錯信封的概率是多大?

提示:F(1)=0; F(2)=1; F(n)=(n-1)*(F(n-2)+F(n-1));

答案:裝法有F(n)種,概率為F(n) / n!

其實,工作中直接用到數(shù)學(xué)知識的時候比較少。直接用處少,并不代表數(shù)學(xué)不重要。數(shù)學(xué)是一門基礎(chǔ)學(xué)科,對一個人的理性思維會產(chǎn)生潛移默化的影響。數(shù)學(xué)和計算機更是密不可割,起初大部分玩計算機的人都是從數(shù)學(xué)系轉(zhuǎn)過去的,計算機領(lǐng)域的很多算法也離不開數(shù)學(xué)。除了數(shù)學(xué),大學(xué)還會開設(shè)很多專業(yè)課,有些課在短時間內(nèi)你并不能看出其價值,但幾年后你很可能會在某個項目中用到大學(xué)學(xué)過的某個知識點。

排序算法流程圖

以我研究生的第一個項目為例,內(nèi)容是海量浮點數(shù)的快速排序。排序算法誰不會寫,C++庫函數(shù)中就有sort函數(shù)。如果數(shù)據(jù)量很大,內(nèi)存裝不下,就可以將其分成一個個小組,每個小組進行排序,最后再合并結(jié)果,這中間使用的就是分而治之的思想。小組內(nèi)排序,我們最常用的是快速排序算法,但是它的時間復(fù)雜度為nlog(n),而基數(shù)排序算法的時間復(fù)雜度為n,在數(shù)據(jù)量大的時候,其時間差異會更加明顯。基數(shù)排序雖然快,但它要求數(shù)據(jù)范圍不能過大,我們就可以把一個64位的浮點數(shù)看成4個16位的整數(shù),然后進行多關(guān)鍵字排序。為了進一步優(yōu)化算法,我統(tǒng)計了每一個步驟的時間消耗,發(fā)現(xiàn)瓶頸在于二進制和十進制的相互轉(zhuǎn)換。文件中的數(shù)據(jù)是以十進制存儲,而計算機中的數(shù)據(jù)是以二進制存儲。我設(shè)計了一種組合編碼方式,即BCD編碼+二進制編碼+行程長度編碼,并在編碼和解碼過程中使用了hash查找算法和移位操作,大大節(jié)約了整體時間消耗。老師為此,還獎勵了我500塊錢,希望我在未來的日子里能設(shè)計出更多更好的算法。

這個項目是研究生老師給我布置的,但我做這個項目的時候,還在讀大四,用的也全部都是大學(xué)老師教給我們的東西。分而治之的思想和各種排序算法是《數(shù)據(jù)結(jié)構(gòu)》課上的內(nèi)容;BCD編碼和移位操作是《計算機組成原理》課上的內(nèi)容;行程長度編碼是《圖像處理》課上的內(nèi)容;編程是《高級語言程序設(shè)計》課上的內(nèi)容。各種科目的知識點會在某一時刻聚焦到一點,這一點可能激起了創(chuàng)新的火花,也可能解決了實際項目中的問題。

現(xiàn)在很多大學(xué)生吐槽課程學(xué)習(xí)沒啥用,懶得花力氣認真去學(xué),工作后出現(xiàn)“書到用時方恨少”的局面時,甚至還意識不到大學(xué)那會兒他們錯過了什么。有時,我會覺得社會的節(jié)奏太快,容易讓人緊盯眼前的利益,容易讓人問出“讀書有沒有用?學(xué)這門課有沒有用?”的問題來,容易讓人看不清自己的心。

對于弟弟的大學(xué)學(xué)習(xí),我只給出了很少的幾條建議。一是認真聽課,把理論基礎(chǔ)打好;二是堅持去OJ網(wǎng)站刷題,把算法和編程基礎(chǔ)打好;三是多去圖書館看書,擴寬自己的知識面。“先博后淵,厚積薄發(fā)”,大學(xué)的積累對后續(xù)深造和工作都非常重要。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,674評論 25 708
  • 算法和數(shù)據(jù)結(jié)構(gòu) [TOC] 算法 函數(shù)的增長 漸近記號 用來描述算法漸近運行時間的記號,根據(jù)定義域為自然數(shù)集$N=...
    wxainn閱讀 1,076評論 0 0
  • 從一個logo開始吧..... 這個是iOS的logo,他爹就是大名鼎鼎的蘋果Apple(創(chuàng)始人是喬布斯喬幫...
    老何解碼閱讀 1,058評論 0 0
  • 結(jié)束期末考試,晚上九點多,給我媽發(fā)了一條微信: 媽,我決定考研。 從大三就開始糾結(jié)要不要考研,一開始下...
    086e6768da76閱讀 227評論 3 3
  • 2017/8/4 不是睡不著,更像是一種自我折磨了,最近什么進步都沒有,半夜不想睡,整天都沒有精神,到了晚上又是循...
    葉晚illa閱讀 248評論 0 0