導航:首頁 > 源碼編譯 > 數據結構與演算法自學

數據結構與演算法自學

發布時間:2022-04-23 21:47:32

1. 如何學習數據結構與演算法

1、記住數據結構,記住演算法思想(是什麼)

記住數據結構最直觀的東西;記憶該數據結構的定義、性質、特點等。很多東西的理解和創新都是以記憶為前提的。


2、進行大量相關編程練習,用編程語言去實現某一數據結構上的演算法(怎麼辦)


很多時候,理解一個演算法很容易,很容易在紙上去模擬一個演算法的實現過程。但具體實現,則是另一回事。一定得先自己思考,然後再去看書中給的編程語言實現。


3、“記住”特定情景下,利用某一特定的數據結構,去解決問題 (為什麼+怎麼辦)


每介紹一種數據結構,浙大數據結構與演算法的MOOC課程都會有一個實際問題來作為“引子”,回答了“這種數據結構為什麼會出現”。有的是為了實現特定的操作,有的是為了時間和空間上(大部分考慮的是時間復雜性)效率的更高(所以,沒事的時候,分析一下演算法的時間復雜性)。這些東西,我們也須理解記憶。每一數據結構都有其特性,去解決某一類問題,我們需要去記憶,去感悟。


4、形成一個屬於自己的知識體系


如何去“記住”(記好筆記,多多復習);在學習過程中,遇到挫折,產生挫敗感該如何處理(這個是必然會發生的,總有難以理解不會的地方);如何進行心態方面的調整(欲速則不達,不過也有”敏捷學習“的概念)。

2. 請問c語言中的 數據結構與演算法 看那一本書比較好自學的,謝謝

數據結構:嚴蔚敏,清華大學出版社的,有C語言版,這是泰鬥了。
演算法就買本MIT出的演算法導論,想搞競賽或者鑽研演算法就買傳說中的黑書《演算法藝術與信息學競賽》,有興趣時間多,可以通讀高德納(KMP演算法中那個K)的《計算機程序設計藝術》

3. 哪些學習數據結構與演算法的書籍值得推薦

大學計算機數據結構教材是 嚴蔚敏版的《數據結構》可以拿來入門。然後可以根據自己的實際情況來安排怎麼樣學習數據結構。很多人是看一遍書,然後在遇到演算法之後再去實現它。在這里列出一些我知道的演算法書籍,以供參考。(我也只看過演算法導論,編程之美)

1. CLRS 演算法導論
演算法網路全書,只做了前面十幾章的習題,便感覺受益無窮。

2. Algorithms 演算法概論
短小精悍,別據一格,准經典之作。一個壞消息: 同演算法導論,該書沒有習題答案。好消息:習題很經典,難度也適中,只需花點點時間自己也都能做出來。不好也不壞的消息:我正在寫習題的答案,已完成前三章,還剩九章約二百道題,順利的話二個月之後發布。另有中文版名《演算法概論》,我沒看過,不知道翻譯得怎麼樣。如果有心的話,還是盡量看原版吧,其實看原版與看中文版花費時間不會相差很大,因為大部分時間其實都花費在做習題上了。

作者:向小剛
鏈接:http://www.hu.com/question/19987046/answer/13945644
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。

4. 怎樣學好數據結構與演算法

1、 有良好的學習興趣
(1)課前預習,對所學知識產生疑問,產生好奇心。
(2)聽課中要配合老師講課,滿足感官的興奮性。聽課中重點解決預習中疑問,把老師課堂的提問、停頓、教具和模型的演示都視為欣賞音樂,及時回答老師課堂提問,培養思考與老師同步性,提高精神,把老師對你的提問的評價,變為鞭策學習的動力。
(3)思考問題注意歸納,挖掘你學習的潛力。
(4)聽課中注意老師講解時的數學思想,多問為什麼要這樣思考,這樣的方法怎樣是產生的。
(5)把概念回歸自然。所有學科都是從實際問題中產生歸納的,數學概念也回歸於現實生活,如角的概念、至交坐標系的產生、極坐標系的產生都是從實際生活中抽象出來的。只有回歸現實才能使對概念的理解切實可靠,在應用概念判斷、推理時會准確。
2、 建立良好的學習數學習慣。
習慣是經過重復練習而鞏固下來的穩重持久的條件反射和自然需要。建立良好的學習數學習慣,會使自己學習感到有序而輕松。高中數學的良好習慣應是:多質疑、勤思考、好動手、重歸納、注意應用。學生在學習數學的過程中,要把教師所傳授的知識翻譯成為自己的特殊語言,並永久記憶在自己的腦海中。另外還要保證每天有一定的自學時間,以便加寬知識面和培養自己再學習能力。
3、 有意識培養自己的各方面能力
數學能力包括:邏輯推理能力、抽象思維能力、計算能力、空間想像能力和分析解決問題能力共五大能力。這些能力是在不同的數學學習環境中得到培養的。在平時學習中要注意開發不同的學習場所,參與一切有益的學習實踐活動,如數學第二課堂、數學競賽、智力競賽等活動。平時注意觀察,比如,空間想像能力是通過實例凈化思維,把空間中的實體高度抽象在大腦中,並在大腦中進行分析推理。其它能力的培養都必須學習、理解、訓練、應用中得到發展。特別是,教師為了培養這些能力,會精心設計「智力課」和「智力問題」比如對習題的解答時的一題多解、舉一反三的訓練歸類,應用模型、電腦等多媒體教學等,都是為數學能力的培養開設的好課型,在這些課型中,學生務必要用全身心投入、全方位智力參與,最終達到自己各方面能力的全面發展。
其它注意事項
1、注意化歸轉化思想學習。
人們學習過程就是用掌握的知識去理解、解決未知知識。數學學習過程都是用舊知識引出和解決新問題,當新的知識掌握後再利用它去解決更新知識。初中知識是基礎,如果能把新知識用舊知識解答,你就有了化歸轉化思想了。可見,學習就是不斷地化歸轉化,不斷地繼承和發展更新舊知識。
2、學會數學教材的數學思想方法。
數學教材是採用蘊含披露的方式將數學思想溶於數學知識體系中,因此,適時對數學思想作出歸納、概括是十分必要的。概括數學思想一般可分為兩步進行:一是揭示數學思想內容規律,即將數學對象其具有的屬性或關系抽取出來,二是明確數學思想方法知識的聯系,抽取解決全體的框架。實施這兩步的措施可在課堂的聽講和課外的自學中進行。
學數學的幾個建議
1、記數學筆記,特別是對概念理解的不同側面和數學規律,教師為備戰高考而加的課外知識。
2、建立數學糾錯本。把平時容易出現錯誤的知識或推理記載下來,以防再犯。爭取做到:找錯、析錯、改錯、防錯。達到:能從反面入手深入理解正確東西;能由果朔因把錯誤原因弄個水落石出、以便對症下葯;解答問題完整、推理嚴密。
3、記憶數學規律和數學小結論。
4、與同學建立好關系,爭做「小老師」,形成數學學習「互助組」。
5、爭做數學課外題,加大自學力度。
6、反復鞏固,消滅前學後忘。
7、學會總結歸類。可:①從數學思想分類②從解題方法歸類③從知識應用上分類
學習上占第一,每個同學都可以做到。之所以你占不了第一,主要有兩個原因:第一、生活方式、學習方法不正確,第二、沒有堅強的毅力。在這裡面毅力是第一重要的,學習方法是第二重要的。

5. 如何學習數據結構


6. 新手如何學習數據結構

要想掌握數據結構與演算法要點一般如下:
1、要熟悉數據結構整個大綱。如:
邏輯存儲結構:分為線性結構和非線性結構。
線性結構:順序表、單鏈表、棧、隊列、串、廣義數組。
非性結構:二叉樹、圖。
物理存儲結構:分為順序存儲和鏈式存儲。

基本操作:插入、刪除、更新、查找,逆轉等。
2、要熟悉數據結構各類專有名詞含義;
3、掌握時間復雜度的計算或推導(即大O)。
4、重點掌握非線性二叉樹的性質推導和證明(這里涉及到了一些數學知識),和圖。

多上機調試各章的源碼,只有這樣才能加深對演算法本身存在的思想的體會。學習數據結構其實就是學習演算法思想。

7. 學習數據結構與演算法需要哪些必備知識

首先得先會一門語言,可以自己動手去實踐這些演算法,比較基本的入門就是:鏈表,棧,二叉樹和圖這些基本的數據結構和排序、查找等,吃透這些,書籍可以看《c語言版的數據結構》,還可以學習下線性代數。然後進階提高是根據你想從事哪方面的工作,比如游戲開發,可能需要學習八叉樹,Perlin噪音等。就這些吧

8. 如何自學數據結構與演算法

在學習語言初期時 對數據結構和演算法確實是沒有太多體會的因為開始時編的程序比較簡單 應用數據結構需要一定的水平之後數據結構和演算法在大規模程序 提高性能上很有用 開始學習的時候不要急 先把基本的編程例子全做過 編的多了 慢慢就會體會到了開始學習時 實現功能最重要 慢慢的改進 提高效率 用到演算法和數據結構

9. 怎麼學好數據結構與演算法,好難啊

李明傑老師:每周一道演算法題 通關演算法面試課(超清視頻)網路網盤

鏈接: https://pan..com/s/14GZpVf03Mf9E-YnMrrR4Pw

提取碼: 5dmc 復制這段內容後打開網路網盤手機App,操作更方便哦

若資源有問題歡迎追問~

閱讀全文

與數據結構與演算法自學相關的資料

熱點內容
java線程啟動線程的方法 瀏覽:252
兩位數互補演算法 瀏覽:781
甲骨文雲伺服器登錄 瀏覽:776
程序員那麼可愛在哪裡可以免費觀看 瀏覽:566
台灣伺服器地址大全 瀏覽:192
安卓自動美顏怎麼關 瀏覽:960
java手動釋放內存 瀏覽:868
迷你世界怎麼自己創伺服器 瀏覽:811
cmd命令不能運行 瀏覽:298
最新pdf閱讀 瀏覽:756
c語言中的排序演算法 瀏覽:597
php原生鏈接資料庫 瀏覽:45
web前端後端程序員 瀏覽:25
萬能zip的壓縮包怎麼解壓 瀏覽:41
國內動漫用什麼app看 瀏覽:354
樹莓派高級編程 瀏覽:929
30歲學編程晚嗎 瀏覽:69
解壓專家怎麼打開 瀏覽:87
php開源留言板 瀏覽:50
新鄉市區疫情怎麼查詢app 瀏覽:159