數據結構與算法------準備篇

算法與數據結構的概念算法

從廣義上講,數據結構就是指一組數據的存儲結構。算法就是操做數據的一組方法。數組

  數據結構:圖書館儲藏書籍你確定見過吧?爲了方便查找,圖書管理員通常會將書籍分門別類進行「存儲」。按照必定規律編號,就是書籍這種「數據」的存儲結構。數據結構

  算法:那咱們如何來查找一本書呢?有不少種辦法,你固然能夠一本一本地找,也能夠先根據書籍類別的編號,是人文,仍是科學、計算機,來定位書架,而後再依次查找。籠統地說,這些查找方法都是算法。數據結構和算法

從狹義上講,是指某些著名的數據結構和算法,好比隊列、棧、堆、二分查找、動態規劃等。這些都是前人智慧的結晶,咱們能夠直接拿來用。咱們要講的這些經典數據結構和算法,都是前人從不少實際操做場景中抽象出來的,通過很是多的求證和檢驗,能夠高效地幫助咱們解決不少實際的開發問題。學習

 數據結構是爲算法服務的,算法要做用在特定的數據結構之上。設計

   好比,由於數組具備隨機訪問的特色,經常使用的二分查找算法須要用數組來存儲數據。但若是咱們選擇鏈表這種數據結構,二分查找算法就沒法工做了,由於鏈表並不支持隨機訪問。blog

   數據結構是靜態的,它只是組織數據的一種方式。若是不在它的基礎上操做、構建算法,孤立存在的數據結構就是沒用的。隊列

 

 

在這裏提一句題外話:我忍爲學習一門技術或者說學習一個東西,1.要先搞懂這個東西的前世此生(來歷);2.要知道它的設計理念,以及用法;3.要了解它所能解決的問題,以及適合解決的問題;4.要清楚它的使用場景; 開發

極客時間 ----- 算法與數據結構之美基礎

相關文章
相關標籤/搜索