跳至主要内容

[DSA] 資料結構與演算法 intro

記得以前剛轉行從事網頁工程的時候,需要從 database 撈資料到前端呈現,可是當時真的是不清楚要怎麼處理資料,主管便問我說:「你要用什麼演算法」。演・算・法,當時聽到這三個字我真的是滿臉黑人問號?演算法到底是什麼碗糕?

後來想想在學習的路上,總是接觸到很多陌生但卻又耳熟的詞彙,做為新手,常常聽到很多詞就先畏懼了,覺得自己好像很多東西都還不懂的感覺,但其實很多字詞並沒有想得這麼複雜或這麼難。

程式 = 資料結構 + 演算法

演算法(Algorithm)是什麼

演算法簡單來說,就是「解決問題的方法」—當碰到一個問題時,要用什麼樣的方式來解決所碰到的這個問題。

這個在 TEDEd 短短 5 分鐘的影片(中文字幕),清楚說明了演算法(Algorithm)的概念:

資料結構(Data Structure)是什麼

  • 不同的資料結構有不同的強弱項,有的在儲存(storing)和紀錄(recording)資料的速度較快,有的則是在搜尋(searching)和提取(retrieving)上比較快。
  • 資料結構的使用會影響到效能表現(performance)和程式運行的效率