當前位置:才華齋>計算機>java語言>

JAVA語言常用的演算法和資料結構有哪些

java語言 閱讀(1.9W)

“資料結構”是計算機學科各個專業的一門重要的專業基礎課程。很多人對於資料結構的應用,常見的資料結構和演算法沒有全面的認知和理解,本文為大家整理了一些實踐中最常用的演算法和機構,供大家參考:

JAVA語言常用的演算法和資料結構有哪些

  在學習瞭解這些資料結構和演算法之前,引用一位前輩的話:

“我們不需要你能不參考任何資料,實現紅黑樹;我們需要的是你能在實踐當中,選擇恰當的資料結構完成程式開發;在必要的時候,能在已有的資料結構基礎上進行適當改進,滿足工程需要。但要做到這一點,你需要掌握基礎的演算法和資料結構,你需要理解並應用一些高階資料結構和演算法的思想。因此,在程式設計師這條道路上,你要想走得更遠,你需要活用各種資料結構,你需要吸收知名演算法的一些思想,而不是死記硬背演算法本身。”

那麼,工程實踐當中,最常用的演算法和資料結構有哪些?

以下是Google工程師Arjun Nayini在Quora給出的`答案,得到了絕大多數人的贊同。

  最常用的演算法

1.圖搜尋演算法(BFS,DFS)

2.排序演算法

3.通用的動態規劃演算法

4.匹配演算法和網路流演算法

5.正則表示式和字串匹配演算法

  最常用的資料結構

1樹結構特別重要

結構

結構

ks/Queues結構

s樹

其他一些相對比較常用的資料演算法還有:貪心演算法、Prim’s / Kruskal’s演算法、Dijkstra’s最短路徑演算法等等。

  怎麼樣才能活用各種資料結構?

你能很清楚的知道什麼時候用hash表,什麼時候用堆或者紅黑色?在什麼應用場景下,能用紅黑色來代替hash表麼?要做到這些,你需要理解紅黑樹、堆、hash表各有什麼特性,彼此優缺點等,否則你不可能知道什麼時候該用什麼資料結構。

  常言道:

程式=演算法+資料結構

程式≈資料結構