數據結構和算法

程序設計 = 數據結構 + 算法算法

這是一個著名的公式,說明這兩個方面是很是重要的。在Java中,集合實現了多種數據結構,開發者使用就能夠了。可是,瞭解數據結構,有助於理解源碼,進而能夠爲不一樣的程序選擇合適的數據結構。數組

1、數據結構數據結構

 數據結構是相互之間存在一種或多種特定關係的數據元素的集合。學習

主要有兩種結構:一是邏輯結構;二是物理結構。設計

 

一、數組blog

   線性表的順序存儲結構的實現方式。排序

二、鏈表隊列

  鏈式存儲結構有如下幾種:單鏈表、靜態鏈表、循環鏈表、雙向鏈表。開發

三、棧源碼

   限定僅在表尾進行插入和刪除的線性表。想象槍的子彈殼。

四、隊列

   只容許在一端進行插入操做,而在另外一端進行刪除的線性表。

五、串

  好比Java中String類。KMP算法

2、算法

 算法是解決特定問題求解步驟的描述,在計算機中爲指令的有限序列,而且每條指令表示一個或多個操做。

 算法運行的兩個標準:時間複雜度和空間複雜度。

一、查找

二、排序 

學習書籍:

一、大話數據結構

2.《數據結構與算法分析--Java語言描述》

3.《數據結構和抽象問題求解--Java語言描述》

4.《算法導論》

相關文章
相關標籤/搜索