有必要學好資料結構和演算法嗎?

時間 2021-06-30 15:43:20

1樓:

一定要學,學得多好因人而異。

雖然現在有好多複雜的演算法有各種各樣的庫為你提供解決方案。你可以不需要會寫這些複雜的演算法。但是,如果你不知道這些演算法的基本原理,時空複雜度,你又如何知道該選哪個演算法呢?

呼叫了這些函式後,你又如何去估計整個方法的時空複雜度呢?

2樓:

有一定必要。

資料結構和演算法實際上也是技術的一種,不單只有資料庫/前端之類的叫技術,道理都是一樣的。

題主有提到身邊有些同學並沒有把資料結構和算法學的很好,但是技術不錯。這些同學受青睞的原因是技術不錯,而不是演算法不夠好。公司需要掌握這些技術的人,那麼他們自然會受到青睞。

至於演算法方面的不足,則被這些技術蓋過了。核心開發者公司並不關注他們是否能夠寫出乙個頁面。

但是,這些同學只是「不夠好」,不夠好是與演算法方面專精的人相比的,而非一竅不通。這就意味著題主至少要有一定了解。最大流圖演算法紅黑樹之類的可以暫時不掌握,但是最簡單的鍊表二叉樹快排必須得會。

除了這些基礎的結構和演算法,一些遞迴和動態規劃的思想也有必要掌握。即使是服務端的開發人員,連前端用HTML都不知道可是非常丟臉的。

不知道題主打算從事哪方面的工作,但是乙個強項(技術)和沒有弱項(掌握基礎的演算法和資料結構)是必要的。當然,日後成長為大牛後演算法的不足就會成為瓶頸,但是具體什麼時候再去精通,就看題主的自身情況了。

怎樣學好資料結構?

taor 怎麼有些人把資料結構和演算法分開了談,書都不敢這麼寫。學好資料結構是先把書學完,然後多面對各種場景和問題,去用書上東西,就是多練。乙個問題用多種方法解決,對比其各自優缺點。 wuzz 雞湯再好也不能變成雞肉。切記切記第一點是動手實踐。建議是網上找付費課程看,極客時間的專欄,跟著學。最差才是...

怎麼學好資料結構?

Tiam 首先要明白資料結構的框架 接下來一點一點往這個框架中填充內容 適合於將很多元素都為0的陣列轉換為規模較小的陣列表示例如 將以上陣列用稀疏陣列表示即為 第一行記錄原陣列一共有幾行幾列,有多少非零數字 隨後每一行記錄乙個有效數字的位置資訊以及數值 digolds 你可以參考以下教程,我列舉了幾...

前端開發是否有必要知道資料結構和演算法?

說複雜點,資料結構是用來重構系統的,前端沒有複雜到這種程度,而且實際開發中有幾個人合作,這會給交流帶來困難 演算法就寬泛一點,其實就是流程,也就不限於書上那幾種。演算法是跟開銷和效率掛鉤的,實際工作中如果有必要考慮這些,自然會有改進 一切都看實際情況,如果連整個開發流程都不清楚的,談這些還太過遙遠 ...