圖靈獎得主曾經說過:「程式設計 = 資料結構 + 演算法」
在入門階段,我們不見得會認為資料結構的重要性。只要 Online Judge 系統亮起 Accept 的綠燈,我們就心滿意足。但是當我們開始挑戰難度稍高的題目後,往往得到的不是 Wrong Answer ,而是 Time Limit Error 。遇到 TLE 最讓我痛苦,因為這代表你在這道題目上走了太多彎路了!那我們要如何解決?只能改變解題邏輯或是更改資料儲存的方式,換句話說,就是學習「資料結構」、「演算法」。
高中升大學的暑假,我自學了資料結構,那是一段痛苦的回憶!原因之一可能是我使用 C/C++ 這種需要大量使用指標的程式語言,我經常迷茫在取值、取址之間,但是在自我探索之間,我瞭解了資料結構的基礎,並用程式碼實現,希望接下來的文章大家都能夠讀懂。
下一篇,我們就從「指標概論」來認識資料結構吧!