有人說對於JAVA后台開發人員來說,算法沒有那么重要,尤其是隨着時代的發展,各種編程模式,設計模式,框架,架構等等概念越來越多,但是也有人說數據結構與算法是程序的靈魂,是朴素的基礎,也是各種優化程序最根本的措施,我可能更偏向於后者,但是我覺得現在【程序=數據結構+算法】這個等式已經不再成立了,有許多新的東西正在涌入WEB開發中,我們不能僅僅考慮數據結構與算法,更應該將所有東西結合起來一起考慮
這次我將爭取每天更新一片算法篇,就不再顯示在首頁了,我會將超鏈接放在本篇,希望有想法的同學可以一起學習。所有代碼將放在 https://github.com/3218870799/algorithmPractice 上,歡迎指正並一起學習!
數據結構基礎認知(上)
數據結構的基礎認知(下)
基礎認知(外傳)——Java的集合
算法篇1:排序算法 (上篇) (冒泡,直接插入,選擇,快速排序)
算法篇2:排序算法(中篇)(歸並排序,堆排序)
算法篇3:排序算法 (下篇) (希爾排序)
算法篇4: 荷蘭國旗問題優化經典快排
算法篇5: 排序算法 (三種非比較排序算法)
算法篇6: 數組與矩陣的操作 (正方矩陣旋轉 ,之字形打印)
算法篇9:一致性哈希【理解(轉)】【代碼(Github)】
算法篇10:布隆過濾器以及Guava實現(轉)
算法篇11:數論
- 求最大公約數與最小公倍數,
- 排列組合,
- 大數的加減乘除法,
- 矩陣,
- 線性篩
算法篇12:串
算法篇13:經典動態規划——背包問題
算法篇14:並查集
算法篇15:最小生成樹(Prim and Kruskal)
算法篇16:最短路徑(Floyed and Dijkstra)
算法篇17:圖的遍歷
DFS