總所周知,程式的實質就是:對資料的表示,以及對資料的處理。資料要能被計算機處理,首先必須能夠儲存在計算機的記憶體中,這項任務就是資料的表示,其核心就是資料結構。對乙個實際問題的求解必須滿足實際處理的要求,這項任務就是資料處理,其核心是演算法。
有這樣乙個著名公式(是誰提出的有點記不住了),資料結構 + 演算法 = 程式。 由此可見資料結構以及演算法的重要性,我們程式設計就是為了解決生活中的各種問題,而乙個好的程式首先是將實際問題抽象乙個適當的資料結構,然後基於該資料結構設計乙個適合該問題的優秀演算法,進而才能採用合適的程式語言以及程式設計環境實現。資料結構與演算法也是息息相關的,只有它倆充分結合才能發揮作用。
資料結構與演算法對於每個程式設計師來說是乙個重點也是乙個難點。所以筆者首先在這裡提出自己的一點想法就是這個原因。雖然對資料結構以及演算法的學習有一段時間了,但是對於它們的理解也不是非常透徹。接下來,筆者將從非常簡單的線性表、棧、佇列、二叉樹、以及簡單的排序演算法、索引演算法等方面一一介紹,也順便幫助我進一步理解以及回顧。
在此,希望我**有不對的地方,或者能改善的地方,希望讀者能提供你們寶貴的意見以及建議,在筆者的思想或者部落格可能和其他博主有相同或者相似的地方也請讀者見諒,畢竟筆者也只是在一條學習的道路上,希望我們能共同學習,最求自己的夢想!
資料結構及演算法
最近常看到一些同行常提到資料結構和演算法,這個問題有時候面試會常常遇到,讓你說一下關於資料結構的理解,結常看到網上一些同行對資料結構的解釋和看法,差不多也都各有千秋吧 同時感覺好多人都對資料結構的理解不是很清楚,那怕是平時的開發過程中常用到資料結構及演算法,但是一但回答起這個問題來,感覺就是無從說起...
資料結構及演算法 何謂資料結構
何謂資料結構 資料結構是在整個電腦科學與技術領域上廣泛被使用的術語。它用來反映乙個資料的內部構成,即乙個資料由哪些成分數 據構成,以什麼方式構成,呈什麼結構。資料結構有邏輯上的資料結構和物理上的資料結構之分。邏輯上的資料結構反映成分資料之間的邏輯關係,而物理上的資料 結構反映成分資料在計算機內部的儲...
常用資料結構及演算法
翻譯來自 linked list stack queue tree binary tree binary search tree trie fenwick tree segment tree heap hashing graph排序 快速排序 合併排序 桶排序 基數排序 圖演算法 深度優先搜尋 廣度...