資料結構是相互之間存在的一種或多種特定關係的資料元素的集合。包括4類基本的結構,集合、線形結構、樹形結構、圖狀或網狀結構。內在含義是資料的邏輯結構,比方說這些資料在記憶體中以什麼樣的結構存放。演算法實際是程式設計過程中完成一件事採用的方法,例如現實生活中做數學題時兩個人都將題完成,但是他們之間有一個用的時間很短。這樣的例子是因為採用了簡便的方法。如果在程式設計過程中採用好的演算法也可以降低程式的時空複雜度。觀看斯坦福和MIT,這兩種網易公開課,對資料結構與演算法的學習有很大的幫助。
資料結構是相互之間存在的一種或多種特定關係的資料元素的集合。包括4類基本的結構,集合、線形結構、樹形結構、圖狀或網狀結構。內在含義是資料的邏輯結構,比方說這些資料在記憶體中以什麼樣的結構存放。演算法實際是程式設計過程中完成一件事採用的方法,例如現實生活中做數學題時兩個人都將題完成,但是他們之間有一個用的時間很短。這樣的例子是因為採用了簡便的方法。如果在程式設計過程中採用好的演算法也可以降低程式的時空複雜度。觀看斯坦福和MIT,這兩種網易公開課,對資料結構與演算法的學習有很大的幫助。
1、學習資料結構與演算法沒有年齡限制,但學習效果會有天壤之別,上學時間長了思維會更開闊。資料結構與演算法一定要經過系統的學習,不要妄想上來就能自己學會,一定要從基礎的程式語言學起。
2、資料結構的概念:資料結構是計算機儲存、組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。
3、演算法的概念:演算法是計算機處理資訊的本質,因為計算機程式本質上是一個演算法來告訴計算機確切的步驟來執行一個指定的任務。一般地,當演算法在處理資訊時,會從輸入裝置或資料的儲存地址讀取資料,把結果寫入輸出裝置或某個儲存地址供以後再呼叫。演算法是獨立存在的一種解決問題的方法和思想。
《資料結構與演算法》第四版最好。
資料結構與演算法》第四版介紹:
1、 極其優雅的程式碼實現,對程式設計水平的提高有極大的幫助。
2、 演算法深入淺出,尤其是紅黑樹的講解,非常精彩,對演算法水平的提高有極大幫助。
3、給出程式設計師應知應會的50個演算法,隨時隨用,從而實現在更高抽象層次上高效的程式設計。