路人問:一本數(shù)據(jù)結(jié)構與算法的書蔑担,以數(shù)組舉例牌废,本來數(shù)組的概念挺簡單的,但是書上寫得像一種更廣義的數(shù)學概念一樣啤握,有沒有必要去理解鸟缕?
智者回答:該不該學,用不用學排抬,這種問題懂从,就是屬于讓別人沒法回答的問題。嚴格意義講蹲蒲,所有知識都是有意義的番甩,肯定或者否定的回答都是片面的。但具體對于你現(xiàn)在的階段需不需要學届搁,是因你而異的缘薛。我的建議是窍育,你已經(jīng)有這個困惑了,其實就是不想學了宴胧,那就跳過去漱抓,等你以后發(fā)現(xiàn)這個知識有用,再回頭仔細看恕齐,撿起來辽旋。學習就好比旅行,任性一點兒沒關系檐迟,向你喜歡的風景出發(fā)补胚。有時候回頭看,發(fā)現(xiàn)自己錯過了什么風景追迟,再回頭去追尋并不晚溶其。不用害怕錯過,重要的是一直在旅程上敦间。
以上這個小對話瓶逃,正對應著我們在學習中的心態(tài)問題。
比如在學習數(shù)據(jù)結(jié)構這門課時廓块,很多同學都表示自己對 C 已經(jīng)遺忘了厢绝。甚至有的同學說要回頭去重新學 C 。我個人認為大可不必带猴。
在這里昔汉,和大家分享一個我的學習心得。最重要的一條拴清,就是學習千萬不要完美主義靶病。
首先,要沖著自己的目標去口予。數(shù)據(jù)結(jié)構課程就應該把主要精力放在算法思路的學習上娄周。課程中代碼實現(xiàn)細節(jié)上,可能會存在一些不懂的編程語言的專有概念沪停。其實理解一個大概煤辨,知道是干什么的就好。
第二點就是木张,學習不要奔著 100 分去众辨。我們不應該過度著眼于我們還不夠完美。學習不是要么 0 分窟哺,要么 100 分 的泻轰。80 分是收獲技肩;60 分是收獲且轨;20 分也是收獲浮声。有收獲最重要。但是因為著眼于自己的不完美旋奢,最終放棄了泳挥,那就是徹底的 0 分 了。
如果你去聽頂級學府至朗,比如斯坦福的課程屉符,就會發(fā)現(xiàn),老師是不可能把所有細節(jié)都講清楚的锹引。大家一定都學過 C 語言矗钟,C 語言讀取數(shù)據(jù) scanf("%d",&a)
,這個 &a
為什么要有個&
嫌变?可能有的老師會講什么地址符一類的吨艇。但是我認為,頂級的老師會告訴你:先接受它腾啥,記下來东涡,scanf 中,變量前面就是先加個 &
倘待。因為如果非要介紹什么地址符疮跑,相信 99% 的同學在初學的時候根本無法理解,反而頭大凸舵,搞暈了祖娘,挫敗感強,覺得這東西好難啊奄。但其實這個難度是初學 C 語言沒必要接觸的難度贿条。等我們真正深入以后,再回頭看增热,就自然而然理解了整以。千萬不要試圖一上來就搞懂一切。
就好像大一剛剛?cè)腴T C 語言的時候峻仇,很多同學在學習過程中就一直在訴苦公黑,說很難,為什么這里是這樣寫摄咆,為什么那里是那樣的凡蚜。力求從一開始就搞明白一切。這樣只會越學越體會不到用處吭从。想要更快入門朝蜘,就多了解怎么用,而不是為什么這么用涩金。會使用工具才能更好地理解工具谱醇。
我們沒有那么多時間去把東西一開始就完美地弄明白暇仲,我覺得這也不現(xiàn)實。但能在一開始優(yōu)雅地用起來副渴,不是更讓人有成就感嗎奈附?
所謂的「抓大放小」。如果一時沒搞懂煮剧,問自己一句斥滤,這部分內(nèi)容是不是當前一定要搞懂的知識。如果是勉盅,當然要死磕佑颇;但如果不是,記錄下來草娜,嘗試繼續(xù)前進漩符,以后回頭再看。
對于學習的知識驱还,不要妄圖一次性的完全掌握嗜暴,所謂溫故而知新。多給自己一些回頭看的機會议蟆,相信很多東西都會柳暗花明的闷沥。
關于面試,你可能還想知道: