今天,主要為介紹8種機(jī)器學(xué)習(xí)資源,用于學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法的知識(shí)。在這些算法中有的是付費(fèi)的,當(dāng)然也有免費(fèi)的,大家可以根據(jù)實(shí)際需求進(jìn)行選擇。在開始之前,這些機(jī)器學(xué)習(xí)資源中的大多數(shù)都假定至少具備一種編程語言的基礎(chǔ)知識(shí)。您不必以任何方式成為專家,您只需要編程基礎(chǔ)。如果您之前從未編寫過代碼,則可以在此頁(yè)面添加書簽并稍后返回。
1. UDACITY-算法簡(jiǎn)介
我以為我會(huì)從本課程開始,因?yàn)樗峁┝撕芎玫慕榻B,并附帶了免費(fèi)的額外好處。作為介紹,本課程很可能是您學(xué)習(xí)本主題時(shí)的第一個(gè)目標(biāo)。
該課程是用Python編寫的,但是如果您不熟悉Python,請(qǐng)不要擔(dān)心。幸運(yùn)的是, 該課程采用了漸進(jìn)的方法,有助于了解Python是一種非常易讀的編程語言。
為了幫助您鞏固學(xué)習(xí),在測(cè)驗(yàn)知識(shí)的過程中會(huì)進(jìn)行一些測(cè)驗(yàn)。課程結(jié)束后,您應(yīng)該對(duì)算法有實(shí)際的了解,并準(zhǔn)備進(jìn)一步深入。
2. Edx-算法和數(shù)據(jù)結(jié)構(gòu)
本課程由Microsoft的優(yōu)秀人才提供給您,并且再次 成為該主題的理想介紹。課程結(jié)束后,您將對(duì)流行的算法和數(shù)據(jù)結(jié)構(gòu)有深刻的了解。但是,您還將了解如何以及何時(shí)使用它們。學(xué)習(xí)很棒,但是除非您可以應(yīng)用所學(xué)到的知識(shí),否則它就不會(huì)很有用。考慮到這一點(diǎn),值得一提的是,本課程還可以幫助您為最終項(xiàng)目創(chuàng)建應(yīng)用程序。完成后,可以選擇購(gòu)買經(jīng)過驗(yàn)證的認(rèn)證,但是選擇權(quán)是您自己選擇。如果您只想要知識(shí),那么就沒有義務(wù)花費(fèi)任何金錢。
3. UDEMY-數(shù)據(jù)結(jié)構(gòu)和算法
如果您對(duì)數(shù)據(jù)結(jié)構(gòu)和算法有一些基本的了解,但還想了解更多,請(qǐng)查看本課程。而且,如果您是Java主管,那么請(qǐng)務(wù)必查看此課程。盡管它使用Java,但這不是課程的前提條件。只要您知道至少一種面向?qū)ο蟮木幊陶Z言,就可以了。因此,不要因?yàn)樗貏e提到Java而感到不安。這是有關(guān)Udemy的付費(fèi)課程。但是,如果您熟悉Udemy,那么您會(huì)知道他們經(jīng)常有銷售,課程可以折扣多達(dá)95%!我經(jīng)常以低至10英鎊的價(jià)格在Udemy購(gòu)買課程。
該課程涵蓋了許多重要的內(nèi)容,例如數(shù)組,鏈接列表,樹,哈希表,堆棧,隊(duì)列,堆,排序算法和搜索算法。它不僅涉及理論,而且涉及實(shí)際內(nèi)容,因此您知道事情的實(shí)際運(yùn)作方式。
如果您有興趣,請(qǐng)隨時(shí)觀看免費(fèi)的示例視頻。 當(dāng)然,這不是有關(guān)Udemy的唯一數(shù)據(jù)結(jié)構(gòu)和算法課程。但是,對(duì)我而言,這是一個(gè)杰出的課程。
4. COURSERA-數(shù)據(jù)結(jié)構(gòu)和算法
該課程無疑是該列表上最豐富的課程!這不只是一個(gè)課程;這是一系列的課程。但是,在我繼續(xù)之前,您應(yīng)該知道這是另一門付費(fèi)課程。它比以前的Udemy選項(xiàng)貴一點(diǎn)。如果您有興趣,則每月36英鎊。但是,正如我所說,這是一門肉類課程。
目前,整個(gè)過程實(shí)際上由6門課程組成,涵蓋了從入門到高級(jí)的各種主題。 并不是所有的理論都存在,需要解決的問題和需要制定的項(xiàng)目,很棒的項(xiàng)目。
意見會(huì)有所不同,您可能會(huì)認(rèn)為這是一門昂貴的課程,但我相信您會(huì)同意該課程看起來非常全面。另外,您還可以獲得認(rèn)證,可以將其添加到簡(jiǎn)歷和LinkedIn中。
如果您正在考慮這門課程,他們將提供7天的免費(fèi)試用期,您可以在其中試用水域。但是,如果金錢成為問題,則此列表中還有其他資源。
5.算法簡(jiǎn)介
每個(gè)人都必須從某個(gè)地方開始,這對(duì)進(jìn)行良好的介紹很有幫助。 畢竟,擁有堅(jiān)實(shí)的基礎(chǔ)非常重要,這就是為什么“算法入門”對(duì)于任何初學(xué)者來說都是一本有價(jià)值的書的原因。
本書的設(shè)計(jì)目的是使內(nèi)容全面并且可供所有級(jí)別的程序員使用。因此,盡管這本書只是介紹性的,但它仍然涵蓋了您需要詳細(xì)了解的所有內(nèi)容。
示例使用簡(jiǎn)單的英語和偽代碼編寫,這意味著您不必?fù)?dān)心編程語言的細(xì)節(jié)。我敢肯定,如果您是初學(xué)者,那就是您的音樂。簡(jiǎn)而言之,這是您首次嘗試數(shù)據(jù)結(jié)構(gòu)和算法的理想書。
6. Steven Skiena的《算法設(shè)計(jì)手冊(cè)》
有時(shí)候擁有一本生活手冊(cè)會(huì)很好。但是至少我們有一本設(shè)計(jì)算法的手冊(cè)。如果這是您很難解決的主題,那么由于采用了初學(xué)者友好的方法,因此建議您閱讀此書。本書分為兩部分,第一部分在設(shè)計(jì)和分析算法時(shí)提供了實(shí)用的建議和指導(dǎo)。第二部分充滿了資源和常見算法的參考目錄。
還有一系列自稱“戰(zhàn)爭(zhēng)故事”,描述了實(shí)際應(yīng)用程序的實(shí)踐經(jīng)驗(yàn)。擁有這些實(shí)用的示例很不錯(cuò),可以幫助您了解這些知識(shí)如何應(yīng)用于現(xiàn)實(shí)世界。
7. Robert Sedgewick,Kevin Wayne的算法
這是另一本廣受贊譽(yù)的經(jīng)典著作,在學(xué)術(shù)界經(jīng)常被提及。Java程序員會(huì)發(fā)現(xiàn)自己擁有最新版本,因?yàn)樗氖纠怯肑ava編寫的。對(duì)于不熟悉Java的人來說,可以理解,這是一條輕微的學(xué)習(xí)曲線。
除了本書,還有一個(gè)隨附的網(wǎng)站,其中包含練習(xí),進(jìn)一步的學(xué)習(xí)材料,甚至鏈接到Roberts Sedgewick的Coursera課程。因此,總而言之,讀者可以獲得大量信息。雖然這是一本很棒的書,但我給人的印象是,它更多地針對(duì)中級(jí)程序員,而不是一個(gè)完整的初學(xué)者。但這絕對(duì)是值得一回的。
8. 破解編碼訪談by Gayle Laakmann McDowell
我承認(rèn),這種選擇有點(diǎn)荒唐可笑,因?yàn)楸緯哪康氖菐椭按蚱凭幋a面試”,而不是教您數(shù)據(jù)結(jié)構(gòu)和算法的所有細(xì)節(jié)。
它確實(shí)涵蓋了這個(gè)主題,但是在一個(gè)編碼面試問題的上下文中,這實(shí)際上就是為什么我將其列入此列表的原因。
您可能會(huì)學(xué)到這些東西的原因之一是將您夢(mèng)想中的工作留在一家大型科技公司。如果是這樣,為什么不使其盡可能實(shí)用。
最新版本中包含189個(gè)編碼面試問題的實(shí)際示例。這為您提供了充分的機(jī)會(huì)來練習(xí)和掌握這些類型的問題。
以上就是關(guān)于8種機(jī)器學(xué)習(xí)資源,用于學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法的全部?jī)?nèi)容,想了解更多關(guān)于機(jī)器學(xué)習(xí)的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。