當前位置:首頁 » 操作系統 » 麻省理工學院公開課演算法導論

麻省理工學院公開課演算法導論

發布時間: 2023-11-25 07:16:13

⑴ 下面判斷n是否為素數的演算法,其時間復雜度為多少 急啊!!謝了

int PMe(int n)
{
int i=1;//這個語句花費了常數時間,記為o(1)
int x=(int) sqrt(n);;//這個語句花費了常數時間,記為o(1)
while (++i<=x)
if (n%i==0) break;//這個while 循環最多一共運行x次,所以花費了o(sqrt(n))的運行時間
if (i>x) return 1;
else return 0;);;//這個if...else語句花費了常數時間,記為o(1)
}
所以整個演算法花費了o(1)+o(1)+o(sqrt(n))+o(1),所以時間復雜度就是o(sqrt(n))。
至於為什麼 o(1)+o(1)+o(sqrt(n))+o(1)=o(sqrt(n)),建議您去看麻省理工學院的公開課《演算法導論》的第一大部分:基礎。在第三章和第四章,講的很詳細。

⑵ 如何從零開始學編程


在你學習編程之前思考一下你的目標,當你有最終目標時道路會更加的清晰。那麼,你想要寫什麼?網站?游戲?iOS或者Android應用?或是你是想自動化完成一些乏味的任務讓你有更多的時間看窗外的風景?也許你只是想更具有就業競爭力找個好工作。所有的這些都是有價值的目標,這些目標都是你編程學習推動力的一部分,沒有推動力的人,是無法在略顯枯燥的漫長學習之旅中走遠的。


不要浮躁

Badprogrammingiseasy.EvenDummiescanlearnitin21days.,meswithit.

不管是在線下還是線上的書店,滿目都是《21天學通java》這種速成書目,它們都承諾在很短一段時間內就讓你能夠學會相關技術。MatthiasFelleisen在他的著作HowtoDesignPrograms,SecondEdition一書中明確指出了這種「速成」的趨勢並予以了以上的諷刺。

所謂的「捷徑」或者說「銀彈」是不存在的,智者說過,精通某個東西需要10年或10000個小時,也就是漢語中的「十年磨一劍」,所以不用著急,功不唐捐。

培養興趣

ionbythepublic,butbecauseitisfuntoprogram.

_LinusTorvalds

沉醉於編程,編程更是為了興趣。興趣是推動力的不竭源泉,保持這種充滿興趣的感覺,以便於你能將其投入到你的10年/10000小時的編程時間中。編程很有趣,那是探索的喜悅。那是創造的喜悅。看到自己親手完成的作品顯示在屏幕上很有趣。有人為你的代碼而驚嘆很有趣。有人在公共場合稱贊你的產品、鄰居使用你的產品、以及在媒體上討論你的產品很有趣。編程應該十分有趣,若並非如此,就找出導致編程無趣的問題,然後解決之。

在這里對於初學者有兩個大坑:

如果初學者們只與預先構建好的「發動機和組件」接觸(沒有理解和思考它們構造的原理),這會嚴重限制他們在將來構建這些東西的能力,並且在診斷解決問題時無從下手。

第二個坑沒有第一個那麼明顯:幼稚的「整體論」方法有些時候會顯得很有效,這有一定的隱蔽性與誤導性,但是一兩年過後(也許沒那麼長),當你在學習路上走遠時,再想回過頭來「補足基礎」會有巨大的心理障礙,你得拋棄之前自己狹隘的觀念,耐心地緩步前進,這比你初學時學習基礎知識困難得多。

但臘敏茄也不能矯枉過正,陷入還原論的大坑,初學時便一心試圖做宏大的理論,這樣不僅有一切流於理論的危險,枯燥和乏味還會讓你失去推動力。這種情況經常發生在計算機科班生身上。

為了更好理解,可以將學習編程類比為學習廚藝:你為了燒得一手好菜買了一些關於菜譜的書,如果你只是想為家人做菜,這會是一個不錯的主意,你重復菜譜上的步驟也能做出不賴的菜餚,但是如果你有更大的野心,真的想在朋友面前露一手,做一些獨一無二的美味佳餚,甚至成為「大廚」,你必須理解這些菜譜背後大師的想法,理解其中的理論,而不僅僅是一味地實踐。但拿猛是如果你每天唯一的工作就是閱讀那些厚重的理論書籍,因為缺乏實踐,你只會成為一個糟糕的廚子,甚至永遠成為不了廚子,因為看了幾天書後你就因為枯燥放棄了廚藝的學習。

總之,編程是連接理論與實踐的紐帶,是計算機科學與計算機應用技術相交融的領域。正確的編程學習方法應該是:通過自頂而下的探索與項目實踐,獲得編程直覺與推動力;從自底向上的打基礎過程中,獲得最重要的通用方法並鞏固編程思想的理解。

作為初學者,應以後者為主,前者為輪察輔。

啟蒙

「學編程應該學哪門語言?」這經常是初學者問的第一個問題,但這是一個錯誤的問題,你最先考慮的問題應該是「哪些東西構成了編程學習的基礎」?

編程知識的金字塔底部有三個關鍵的部分:

演算法思想:例如怎樣找出一組數中最大的那個數?首先你得有一個maxSoFar變數,之後對於每個數

語法:我怎樣用某種編程語言表達這些演算法,讓計算機能夠理解。

系統基礎:為什麼while(1)時線程永遠無法結束?為什麼int*foo(){intx=0;return&x;}是不可行的?

啟蒙階段的初學者若選擇C語言作為第一門語言會很困難並且枯燥,這是因為他們被迫要同時學習這三個部分,在能做出東西前要花費很多時間。

因此,為了盡量最小化「語法」與「系統基礎」這兩部分,建議使用python作為學習的第一門語言,雖然Python對初學者很友好,但這並不意味著它只是一個「玩具」,在大型項目中你也能見到它強大而靈活的身影。熟悉Python後,學習C語言是便是一個不錯的選擇了:學習C語言會幫助你以靠近底層的視角思考問題,並且在後期幫助你理解操作系統層級的一些原理,如果你只想成為一個普通(平庸)的開發者你可以不學習它。

下面給出了一個可供參考的啟蒙階段導引,完成後你會在頭腦中構建起一個整體框架,幫助你進行自頂向下的探索。

完成Codecademy的Python部分。這只是熱身部分,盡快完成它,因為你永遠只是在瀏覽器里,你不會學到如何搭建開發環境。在Codecademy這類的編程學習網站學到的那點兒東西,哪怕你只想做一個小的不能再小的項目,你都不知道該從哪兒開始。

完成MIT6.00.1x(中文化)(如果你英語不過關,完成麻省理工學院公開課:計算機科學及編程導論。MOOC是學習編程的一個有效途徑。雖然該課程的教學語言為Python,但作為一門優秀的導論課,它強調學習計算機科學領域里的重要概念和範式,而不僅僅是教你特定的語言。如果你不是科班生,這能讓你在自學時開闊眼界;課程內容:計算概念,python編程語言,一些簡單的數據結構與演算法,測試與調試。支線任務:

完成Python核心編程

完成HarvardCS50(如果你英語不過關:完成哈佛大學公開課:計算機科學cs50。同樣是導論課,但這門課與MIT的導論課互補。教學語言涉及C,php,JavaScript+SQL,HTML+CSS,內容的廣度與深度十分合理,還能夠了解到最新的一些科技成果,可以很好激發學習計算機的興趣。支線任務:

閱讀《編碼的奧秘》

完成《C語言編程》

[可選]如果你的目標是成為一名Hacker:閱讀Hacker'sDelight

PS:如果教育對象還是一個孩子,以下的資源會很有幫助:

5-8歲:TurtleAcademy

8-12歲:PythonforKids

12歲以上:MITScratch或KhanAcademy

入門

結束啟蒙階段後,初學者積累了一定的代碼量,對編程也有了一定的了解。這時你可能想去學一門具體的技術,諸如Web開發,Android開發,iOS開發什麼的,你可以去嘗試做一些盡可能簡單的東西,給自己一些正反饋,補充自己的推動力。但記住別深入,這些技術有無數的細節,將來會有時間去學習;同樣的,這時候也別過於深入特定的框架和語言,現在是學習計算機科學通用基礎知識的時候,不要試圖去抄近路直接學你現在想學的東西,這是註定會失敗的。

那麼入門階段具體該做些什麼呢?這時候你需要做的是反思自己曾經寫過的程序,去思考程序為什麼(Why)要這樣設計?,思考怎樣(How)寫出更好的程序?試圖去探尋理解編程的本質:利用計算機解決問題。

設想:

X=用於思考解決方案的時間,即「解決問題」部分

Y=用於實現代碼的時間,即「利用計算機」部分」

編程能力=F(X,Y)(X>Y)

要想提高編程能力,就得優化X,Y與函數F(X,Y),很少有書的內容能同時著重集中在這三點上,但有一本書做到了——(SICP)《計算機程序的構造和解釋》,它為你指明了這三個變數的方向。在閱讀SICP之前,你也許能通過調用幾個函數解決一個簡單問題。但閱讀完SICP之後,你會學會如何將問題抽象並且分解,從而處理更復雜更龐大的問題,這是編程能力巨大的飛躍,這會在本質上改變你思考問題以及用代碼解決問題的方式。此外,SICP的教學語言為Scheme,可以讓你初步了解函數式編程。更重要的是,他的語法十分簡單,你可以很快學會它,從而把更多的時間用於學習書中的編程思想以及復雜問題的解決之道上。

PeterNorvig曾經寫過一篇非常精彩的SICP書評,其中有這樣一段:

Touseananalogy,ifSICPwereaboutautomobiles,,howtheyarebuilt,andhowonemightdesignfuel-efficient,safe,.highway,justlikeeveryoneelse.

如果你是文中的前者,閱讀SICP將成為你銜接啟蒙與入門階段的關鍵點

雖然SICP是一本「入門書」,但對於初學者還是有一定的難度,以下是一些十分有用的輔助資源:

):由上文提到的Google研究主管PeterNorvig主講,教學語言為Python,內容有一定難度。

HowtoDesignPrograms,SecondEdition:HtDP的起點比SICP低,書中的內容循循善誘,對初學者很友好,如果覺得完成SICP過於困難,可以考慮先讀一讀HtDP。

UCBerkeleySICP授課視頻以及SICP的兩位作者給Hewlett-Packard公司員工培訓時的錄像(中文化項目)

ComposingPrograms:一個繼承了SICP思想但使用Python作為教學語言的編程導論(其中包含了一些小項目)

SICP解題集:對於書後的習題,作為初學者應盡力並量力完成。

完成了這部分學習後,你會逐步建立起一個自己的程序設計模型,你的腦子里不再是一團亂麻,你會意識到記住庫和語法並不會教你如何解決編程問題,接下來要學些什麼,在你心裡也會明朗了很多。這時候才是真正開始進行項目實踐,補充推動力的好時機。

關於項目實踐:對於入門階段的初學者,參與開源項目還為時過早,這時候應該開始一些簡單的項目,諸如搭建一個網站並維護它,或是編寫一個小游戲再不斷進行擴展,如果你自己的想法不明確,MegaProjectList中選取項目。總之,務必在這時拿下你項目實踐的第一滴血。

與此同時,別忘了繼續打好根基。為了將來的厚積薄發,在下面這幾個方面你還要繼續做足功課(注意:下面的內容沒有絕對意義上的先後順序):

計算機系統基礎

有了之前程序設計的基礎後,想更加深入地把握計算機科學的脈絡,不妨看看這本書:《深入理解計算機系統》ComputerSystemsAProgrammer'sPerspective。這里點名批評這本書的中譯名,其實根本談不上什麼深入啦,這本書只是CMU的「計算機系統導論」的教材而已。CMU的計算機科學專業相對較偏軟體,該書就是從一個程序員的視角觀察計算機系統,以「程序在計算機中如何執行」為主線,全面闡述計算機系統內部實現的諸多細節。

如果你看書覺得有些枯燥的話,可以跟一門Coursera上的MOOC:TheHardware/SoftwareInterface,這門課的內容是CSAPP的一個子集,但是最經典的實驗部分都移植過來了。同時,可以看看TheCProgrammingLanguage,回顧一下C語言的知識。

完成這本書後,你會具備堅實的系統基礎,也具有了學習操作系統,編譯器,計算機網路等內容的先決條件。當學習更高級的系統內容時,翻閱一下此書的相應章節,同時編程實現其中的例子,一定會對書本上的理論具有更加感性的認識,真正做到經手的代碼,從上層設計到底層實現都瞭然於胸,並能在腦中回放數據在網路->內存->緩存->CPU的流向。

此外,也是時候去接觸UNIX哲學了:KISS-KeepitSimple,Stupid.在實踐中,這意味著你要開始熟悉命令行界面,配置文件。並且在開發中逐漸脫離之前使用的IDE,學會使用Vim或Emacs(或者最好兩者都去嘗試)。

閱讀《UNIX編程環境》

閱讀《UNIX編程藝術》

折騰你的UN*X系統

數據結構與演算法基礎

如今,很多人認為編程(特別是做web開發)的主要部分就是使用別人的代碼,能夠用清晰簡明的方式表達自己的想法比掌握硬核的數學與演算法技巧重要的多,數據結構排序函數二分搜索這不都內置了嗎?工作中永遠用不到,學演算法有啥用啊?這種扛著實用主義大旗的「碼農」思想當然不可取。沒有扎實的理論背景,遭遇瓶頸是遲早的事。

數據結構和演算法是配套的,入門階段你應該掌握的主要內容應該是:這個問題用什麼演算法和數據結構能更快解決。這就要求你對常見的數據結構和演算法了熟於心,你不一定要敲代碼,用紙手寫流程是更快的方式。對你不懂的數據結構和演算法,你要去搜它主要拿來幹嘛的,使用場景是什麼。

供你參考的學習資源:

《演算法導論》:有人說別把這本書當入門書,這本書本來就不是入門書嘛,雖說書名是IntroctiontoAlgorithms,這只不過是因為作者不想把這本書與其他書搞重名罷了。當然,也不是沒辦法拿此書入門,讀第一遍的時候跳過習題和證明就行了嘛,如果還覺得心虛先看看這本《數據結構與演算法分析》

CourseraAlgorithms:DesignandAnalysis[Part1]&[Part2]:Stanford開的演算法課,不限定語言,兩個部分跟下來演算法基礎基本就有了;英語沒過關的:麻省理工學院公開課:演算法導論

入門階段還要注意培養使用常規演算法解決小規模問題的能力,結合前文的SICP部分可以讀讀這幾本書:《編程珠璣》,《程序設計實踐》

編程語言基礎

.,.Additionally,,

-ThePragmaticProgrammer

此外還要知道,學習第n門編程語言的難度是第(n-1)門的一半,所以盡量去嘗試不同的編程語言與編程範式,若你跟尋了前文的指引,你已經接觸了:「干凈」的腳本語言Python,傳統的命令式語言C,以及浪漫的函數式語言Scheme/Racket三個好朋友。但僅僅是接觸遠遠不夠,你還需要不斷繼續加深與他們的友誼,並嘗試結交新朋友,美而雅的Ruby小姑娘,Hindley-Milner語言家族的掌中寶Haskell都是不錯的選擇。但有這么一位你躲不開的,必須得認識的大夥伴—C++,你得做好與他深交的准備:

入門:C++Primer

[可選]進階:

高效使用:EffectiveC++

深入了解:《深度探索C++對象模型》;C++Templates

研究反思:TheDesignandEvolutionofC++;對於C++這個NecessaryEvil,看這本書可以讓你選擇是成為守夜人還是守日人。

現實是殘酷的,在軟體工程領域仍舊充斥著一些狂熱者,他們只掌握著一種編程語言,也只想掌握一種語言,他們認為自己掌握的這門語言是最好的,其他異端都是傻X。這種人也不是無葯可救,有一種很簡單的治療方法:讓他們寫一個編譯器。要想真正理解編程語言,你必須親自實現一個。現在是入門階段,不要求你去上一門編譯器課程,但要求你能至少實現一個簡單的解釋器。

供你參考的學習資源:

《程序設計語言-實踐之路》:CMU編程語言原理的教材,程序語言入門書,現在就可以看,會極大擴展你的眼界,拉開你與普通人的差距。

Coursera編程語言MOOC:課堂上你能接觸到極端FP(函數式)的SML,中性偏FP的Racket,以及極端OOP(面向對象)的Ruby,並學會問題的FP分解vsOOP分解、ML的模式匹配、Lisp宏、不變性與可變性、解釋器的實現原理等,讓你在將來學習新語言時更加輕松並寫出更好的程序。

:熱熱身,教你寫一個簡單的瀏覽器——其實就是一個javascript和html的解釋器,完成後的成品還是很有趣的;接下來,試著完成一個之前在SICP部分提到過的項目:用Python寫一個SchemeInterpreter

其他

編程入門階段比較容易忽視的幾點:

學好英語:英語是你獲取高質量學習資源的主要工具,但在入門階段,所看的那些翻譯書信息損耗也沒那麼嚴重,以你自己情況權衡吧。此外英語的重要性更體現在溝通交流上,LinusTorvalds一個芬蘭人,一口流利的英語一直是他招募開發者為Linux幹活的的法寶,這是你的榜樣。

學會提問:學習中肯定會遇到問題,首先應該學會搜索引擎的「高級搜索」,當單靠檢索無法解決問題時,去StackOverflow或知乎提問,提問前讀讀這篇文章:Whathaveyoutried?

不要做一匹獨狼:嘗試搭建一個像這樣簡單的個人網站,不要只是一個孤零零的About頁面,去學習Markdown與LaTeX,試著在Blog上記錄自己的想法,並訂閱自己喜歡的編程類博客。推薦幾個供你參考:JoelonSoftware,PeterNorvig,CodingHorror

小結

以上的內容你不應該感到懼怕,編程的入門不是幾個星期就能完成的小項目。期間你還會遇到無數的困難,當你碰壁時試著嘗試「費曼」技巧:將難點分而化之,切成小知識塊,再逐個對付,之後通過向別人清楚地解說來檢驗自己是否真的理解。當然,依舊會有你解決不了的問題,這時候不要強迫自己——很多時候當你之後回過頭來再看這個問題時,一切豁然開朗。

此外不要局限與上文提到的那些材料,還有一些值得在入門階段以及將來的提升階段反復閱讀的書籍。ThePragmaticProgrammer就是這樣一本程序員入門書,終極書。有人稱這本書為代碼小全:從DRY到KISS,從做人到做程序員,這本書教給了你一切,你所需的只是遵循書上的指導。

後記

如果你能設法完成以上的所有任務,恭喜你,你已經真正實現了編程入門。這意味著你在之後更深入的學習中,不會畏懼那些學習新語言的任務,不會畏懼那些「復雜」的API,更不會畏懼學習具體的技術,甚至感覺很容易。當然,為了掌握這些東西你依舊需要大量的練習,腰還是會疼,走路還是會費勁,一口氣也上不了5樓。但我能保證你會在思想上有巨大的轉變,獲得極大的自信,看老師同學和csdn的眼光會變得非常微妙,雖然只是完成了編程入門,但已經成為了程序員精神世界的高富帥。不,我說錯了,即使是高富帥也不會有強力精神力,他也會懷疑自己,覺得自己沒錢就什麼都不是了。但總之,你遵循指南好好看書,那就會體驗「會當凌絕頂」的感覺。


首先要想學編程,選一門合適的計算機語言就十分重要了,怎麼去選擇就顯得尤為重要了,這要根據自己的興趣愛好及每個語言的特性來選擇,比如說PHP適合做web開發,易學習,易上手,非常流行的一門計算機語言了,我個人比較推薦php語言。

java可以做web開發,做安卓app開發也用的是java,在學習程度上上可能比php稍微難上手一點,不過也是沒問題的,如果對java感興趣可以嘗試一下。

python是目前比較火的一門語言了,比較適合做人工智慧領域,另外寫網路爬蟲類的程序,用python也是非常合適的了,看個人興趣來選擇了。

c,c++,c#這些語言就不推薦給了,特別是c#,已經是比較過時的一門語言了,即使學習好了,也不太適合去找工作,c與c++並不是十分適合初學者來學習,因此也是沒必要進行考慮了,還有一些更小眾的語言,更是沒有必要去考慮,因此關於語言的學習就從上面3種語言去選擇一門自己所感興趣的吧!

研發搭建環境

如果選擇好計算機語言,那麼接下來就是研發環境的搭建了,因為只有研發環境搭建好了,才可以進行後續的編程工作,比如說PHP,那麼就從網路上搜一下如何安裝PHP環境,能搜出一些簡單的教程,初學者按照教程一步一步來,頂多半天時間就可以把研發環境裝好了,如果是java,就需要先安裝jdk,進行環境變數的配置等,網上也有相關的教程,也是十分容易的,相信大家只要按照教程來做,都可以很輕易的把研發環境搭建起來的

選好視頻和書籍,輔助學習。既然是零基礎學習,就需要進行系統的學習,而不是到處網路零基礎的知識點進行學習。

代碼練習

跟隨教程一個一個章節的進行學習,需要注意的一點就是不能只是去看,那樣不行,要對每一個章節的知識點要親自用代碼敲一遍,運行一下試試效果才行,這樣才能提高自己的動手能力,才開始會覺得有一點生疏,慢慢的就會熟練起來,逐漸會增加編程的興趣。這個過程就是需要反復的進行練習,大量的代碼練習才行。這個過程是5步中最關鍵的階段了,重在代碼親自練習,對編程中有的章節不明白的地方,千萬不要放過去,可以在網上找一些相關的編程交流群,參加進去,在線上咨詢一些過來人,也許就可以輕松幫你解決疑問了,對你的學習十分幫助,並且整個過程也都是免費的。

項目實戰

如果說基礎教程都按部就班的都實踐過一遍了,那麼你就有一定的編程的基本功了,那麼自己就可以嘗試著做一些小項目,把學到的知識給串起來,進入項目實戰階段,比如說自己設計一個學生管理系統,並把它完成,如果不了解怎麼設計,可以去網上搜索。慢慢就有思路了。

我也在學習這方面,視頻書籍看過不少,最推薦的還是北京尚學堂的學習資料,Java.300集,Python400集,都是很經典的入門基礎教程,而且是結合項目學習的,很有意思,干貨滿滿,還都是免費的,推薦你可以去看看,相信可以帶你走進變成的世界。


從零開始學編程,第一關就是要選擇你所要學習的編程語言。面對著琳琅滿目的編程語言,初學者常常一籌莫展,拿不定主意,不知該選哪

⑶ 《演算法導論(原書第2版)》pdf下載在線閱讀,求百度網盤雲資源

《演算法導論(原書第2版)》([美] Thomas H.Cormen)電子書網盤下載免費在線閱讀

鏈接:

提取碼:ay0t

書名:演算法導論(原書第2版)

作者:[美] Thomas H.Cormen

譯者:潘金貴 等

豆瓣評分:9.3

出版社:機械工業出版社

出版年份:2006-9

頁數:754

內容簡介:

這本書深入淺出,全面地介紹了計算機演算法。對每一個演算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。本書的設計目標全面,適用於多種用途。涵蓋的內容有:演算法在計算中的作用,概率分析和隨機演算法的介紹。書中專門討論了線性規劃,介紹了動態規劃的兩個應用,隨機化和線性規劃技術的近似演算法等,還有有關遞歸求解、快速排序中用到的劃分方法與期望線性時間順序統計演算法,以及對貪心演算法元素的討論。此書還介紹了對強連通子圖演算法正確性的證明,對哈密頓迴路和子集求和問題的NP完全性的證明等內容。全書提供了900多個練習題和思考題以及敘述較為詳細的實例研究。

作者簡介:

Thomas H.Cormen

達特茅斯學院計算機科學系副教授

Charles E.Leiserson

麻省理工學院計算機科學與電氣工程系教授

Ronald L.Rivest

麻省理工學院計算機科學系Andrew與Erna Viterbi具名教授

Clifford Stein

哥倫比亞大學工業工程與運籌學副教授

⑷ 請大家幫忙總結 985高校 計算機科學專業 的所有上課用的教材

你非要讓我總結這個,其實現在教材這方面對於教學質量也不是非常的重要,而且他們可能會有新版出現,我這里就隨便給你總結一下,當年我們上課用的一些教材。


但是因為我記不太清楚,所以我不知道,如果你可以的話還是可以選擇去相關的網站上查閱一下。

  • 總結

當然,如果你覺得這些不對的話,其實也可以在網上進行搜索,很多國外名校的一些教材也還是非常不錯的。

⑸ 如何在網上學習麻省理工學院開放課程真的有用嗎

《麻省理工學院開放課程-演算法導論》網路網盤資源免費下載

鏈接:https://pan..com/s/1ewAwPHQFpD6Tg0rm92uhXQ

?pwd=zxcv 提取碼:zxcv

麻省理工學院開放課程-演算法導論|演算法導論.pdf|麻省理工學院開放課程.演算法導論課件.zip|麻省理工學院開放課程.演算法導論.23.緩存無關演算法2.mp4|麻省理工學院開放課程.演算法導論.22.高級課題緩存參數無關演算法.mp4|麻省理工學院開放課程.演算法導論.21.高級課題並行演算法(二).mp4|麻省理工學院開放課程.演算法導論.20.高級課題並行演算法(一).mp4|麻省理工學院開放課程.演算法導論.19.最短路徑演算法:點的最短路徑.mp4|麻省理工學院開放課程.演算法導論.18.最短路徑演算法:Bellman和差分約束系統.mp4|麻省理工學院開放課程.演算法導論.17.最短路徑演算法:Dijkstra演算法,廣度優先搜索.mp4|麻省理工學院開放課程.演算法導論.16.貪婪演算法,最小生成樹.mp4|麻省理工學院開放課程.演算法導論.15.動態規劃,最長公共子序列.mp4|麻省理工學院開放課程.演算法導論.14.競爭性分析,自組織表.mp4|麻省理工學院開放課程.演算法導論.13.平攤分析,表的擴增,勢能方法.mp4|麻省理工學院開放課程.演算法導論.12.跳躍表.mp4

⑹ 數據結構與演算法 哪個大學講的好

你是想看視頻嗎?據說清華大學嚴奶奶講的好,但是那個畫質啊,14寸黑白電視的感覺。網易雲課堂有浙大陳越姥姥的,是國家級精品課,網上也有郝斌的數據結構。推薦你看浙大的,然後買一本數據結構與演算法分析,這本書看完再看演算法中的聖經《演算法導論》。演算法導論有麻省理工的課堂教學視頻,據說就是演算法導論的作者講的課,網易公開課有下載及翻譯。

⑺ 介紹些計算機方面的書籍有哪些

1. 《信號與系統》

在《編碼》一書中,向我們展示了使用語言的一些直觀方法並創造新的方法來進行相互之間的交流,此書使我們明白了這種創造性以及我們人類對交流的迫切需求。

⑻ 曹文的用心靈影響心靈

只有愛才能培育愛,只有心靈才能影響心靈。用心教學、用心育人的曹文,讓學生們將感激記在了心裡。一位在美國的學生知道曹文老師喜歡打網球,而國內的網球又比較貴,就特意寄了幾筒網球給他,說是讓老師鍛煉身體。曹文老師喜歡書籍,另有在美國的學生為他買來一套麻省理工學院計算機系的研究生教材《演算法導論》。他的得意弟子有沒有談戀愛,曹文知道得往往比孩子父母還清楚。他有許多學生進了IBM、Intel、Microsoft等世界知名公司,只要曹文一到北京、上海等地,學生們就會「串聯」起來盡地主之誼。從前的師生變成了今日的朋友,這樣的變化讓曹文老師特別開心。
這么多年的耕耘讓曹文收獲頗多,他的人生編年史上也記載下一個個堅實的足跡:1999年,被評為第二屆江蘇省優秀計算機教師;2000年,獲教師華英獎;2002年,常州市第五批中學骨幹教師,常州市立功者;2004年,獲常州市五一勞動獎章,被評為全國模範教師、在常州市「我最敬佩的老師」大型網上評比中被評為十佳之一;2005年,被評為常州市中青年專業技術拔尖人才;2006年,被評為常州市第七批學科帶頭人。

熱點內容
牆加密區域 發布:2024-11-30 02:33:32 瀏覽:630
idrac中怎麼控制伺服器 發布:2024-11-30 02:18:27 瀏覽:910
蜘蛛礦池伺服器地址 發布:2024-11-30 02:13:57 瀏覽:169
網易雲訪問記錄 發布:2024-11-30 02:13:17 瀏覽:376
java的數據類型有哪些 發布:2024-11-30 02:12:42 瀏覽:546
win8訪問win7共享 發布:2024-11-30 02:08:33 瀏覽:340
編程錄入錯誤 發布:2024-11-30 02:01:58 瀏覽:733
相機存儲卡無法讀取 發布:2024-11-30 02:00:15 瀏覽:772
美國訪問學者中介 發布:2024-11-30 01:49:47 瀏覽:491
手機版我的世界網易伺服器地鐵 發布:2024-11-30 01:38:57 瀏覽:522