1. 程式人生 > >資料結構之基礎概念

資料結構之基礎概念





經典至理名言:程式設計 = 資料結構 + 演算法。


1:寫在正文之前的

已經工作有幾年了,說來慚愧,基礎沒有打好,上次面試被一個面試官問了一個數據結構的基礎題,結果沒有回答對。被羞辱了一番之後,痛定思痛,必須把資料結構和演算法搞定,而且是要搞好。

前兩天忽然被驚醒了一般,原來我們一直的狀態是專門做開發這件事,也就是說在以開發為生而已,就像鐵匠只是以打鐵為生,養家餬口而已,並不能被當做是匠人的。匠人要求的素質和技能普遍是比較高的,我就不再照搬,大家可以查查,自行對照吧。而程式設計師來說最基礎的技能就是資料結構,所以從專門到專業,就從資料結構開始。


2:正  在瞭解一些基礎概念時,不可急躁,一定要仔細的,反覆的揣摩。

      什麼叫資料?

        能被計算機識別,並輸入到計算機處理的符號都是資料。這些資料包含整型,實型等數值型別,(有一個小問題,什麼是實型?) 還有聲音,影象,視訊等非數值型別。這些統統的都是資料。換一句簡單的話說就是隻要是能被計算機識別並處理的,都是資料。

      2:什麼是資料元素?

        資料元素是組成資料的,有一定意義的基本單位,在計算機中通常作為整體處理。也被稱為記錄。

      3:什麼叫資料項?

         一個數據元素可以有若干個資料項組成。資料項是資料不可分割的最小單位。

         問題來了,資料結構中建立資料模型是針對最基礎的資料還是資料元素,還是資料項?

         答案是資料項。

       4:資料,資料元素,資料項之間的關係


手畫,請見諒

搞清楚上面那幾個問題之後,我們才能開始下面的問題。

    5:資料結構是研究什麼

      它是研究將資料按照一定的邏輯結構,存放到計算機中,而存放的方式有多種物理結構。將資料按照什麼形式的結構來存放,存放到計算機中又是什麼結構。這就是資料結構要研究的。


       從專門到專業的路才剛剛開始,我很喜歡喬布斯的那句話:Stay hungry. Stay foolish。我加上一句,各位看看合不合適,如不合適,請輕噴:Stay nothing。