Swift算法俱樂(lè)部中文版 -- 為什么要學(xué)習(xí)算法和數(shù)據(jù)結(jié)構(gòu)?

如果你成為一名程序員,你可能想學(xué)習(xí)算法和數(shù)據(jù)結(jié)構(gòu),特別是你沒(méi)有在學(xué)校學(xué)過(guò)這門(mén)課程。

但是,你在寫(xiě)應(yīng)用程序的時(shí)候,什么時(shí)候自己寫(xiě)過(guò)鏈表?什么時(shí)候自己寫(xiě)過(guò)排序?答案是:幾乎從不。

然而...

了解一些通過(guò)算法來(lái)解決棘手問(wèn)題的策略,一點(diǎn)點(diǎn)的改善你的想法和代碼。

知道更多的數(shù)據(jù)結(jié)構(gòu),而不僅僅是標(biāo)準(zhǔn)的數(shù)組和字典,你會(huì)得到一個(gè)更大的工具箱,你可以用來(lái)構(gòu)建自己的應(yīng)用程序。

它會(huì)讓你成為一個(gè)更好的開(kāi)發(fā)者! (和掙更多的錢(qián)?。?/p>

算法可以讓你辦你辦不了的事。

有一些應(yīng)用程序我寫(xiě)不出來(lái),是因?yàn)橐恍└締?wèn)題我無(wú)法解決。

通常是速度上的問(wèn)題:我的程序不夠快。 現(xiàn)在回想一下,遇到這些問(wèn)題是因?yàn)檫x擇了錯(cuò)誤的算法。 如果我早知道更多關(guān)于O(n)和O(n ^ 2)之間的差別,那么也許我就搞定了。

暴力解決方案適用于少量數(shù)據(jù),但有時(shí)你需要處理大量數(shù)據(jù)。 然后你需要更聰明的算法。

有時(shí)候并不是速度問(wèn)題,而是我根本不知道如何下手。 理解一點(diǎn)算法理論,你可以嘗試更多種方法。

算法不像聽(tīng)起來(lái)那么可怕。

很多算法教科書(shū)從一大堆數(shù)學(xué)開(kāi)始。 說(shuō)真的,數(shù)學(xué)是有用的,但大多數(shù)時(shí)候你不會(huì)需要它。 所以不要讓數(shù)學(xué)嚇到你。 如果你會(huì)編寫(xiě)代碼,你也可以理解所有這些奇特的算法和數(shù)據(jù)結(jié)構(gòu)。

相信我,算法很有趣。 :-)

英文鏈接:
https://github.com/raywenderlich/swift-algorithm-club/blob/master/Why%20Algorithms.markdown

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容