先來個免責聲明,我理解的東西也許跟你理解的不同,如果我有寫錯的部分,再麻煩溫柔的留言在下面,但我這裡可能不太會用太學術名詞,畢竟我還是提倡如果資訊能讓所有人都懂,勢必要使用親民的舉例,就這樣囉!
然後以下是我根據這本書所做的導讀,有興趣的同胞也可以自行去買或租來看,我只是多加了一點我的翻譯但覺得他寫的很淺白(讚讚)

以下就分成資料特性、資料結構、資料結構分類、常見的資料結構,四個部分做探討 :
資料的特性是什麼?
我們平常能想像到的資料就是一張一張A4紙然後儲存在一個像圖書館的地方,其實是一樣的道理,我們把資料一筆一筆存起來,它勢必就會佔據一些空間,而我們應該來了解一下,它佔據了什麼?
1. 位元(Bit): 就像台幣以元為單位,電腦的儲存最小單位是 Bit 就像機器語言中的 0 和 1 。
2. 位元組(Byte): 表示一個字組,一個字組佔據 8 Bit 空間。
3. 欄位: 數個 Byte 組成,類似你在 excel 欄位一樣。
4. 紀錄(Record):相關連的欄位就會組成有意義的基本單位,例如身分證裡有姓名、 身分證字號、出生年月日等等,也可以想成 excel 表裏儲存某個人身分證的數據。
5. 檔案:當很多人的身分證都存在同一個檔案裡,共用同樣的欄位,就成了檔案,像是 excel 裡的某個 sheet。
到了這裡好像漸漸可以看出資料庫裡的資料表的雛形,那麼在資料的特性又分成了:
數值的資料 : 就是數字
文數資料 : 就是字串
資料的結構的分類是什麼?
Algorithms + Data Structures = Programs 圖靈獎得主 Nicklaus Wirth
別怕我也是第一次看到書裡寫的,我腦袋怎麼可能隨便就有一個人說出的名言XD 總之就是 :
演算法 + 資料結構 = 程式
好的不知道有沒有跟我一樣初入茅廬的孩子,一直以為所謂的演算法就是一定要算出什麼費氏數列、河內塔、三橋(或六橋)問題 balabala 等等彷彿在上數學課的東西才叫演算法,正確來說,所謂的演算法就是你的資料經過你巧手寫出符合功能的資料處理,那就叫演算法囉!所以大家不要被演算法給嚇到,就算你每天規劃你出門到上班的路線,也是一種演算法,只是為了訓練我們更厲害的演算法,讓我們寫程式處理資料時會更熟練,通常會拿一些題目作為練習。
資料結構其實很多種類,但大方向可以分類為以下幾種 :
基本結構
一群集合,沒有任何次序,只有存在。(像是一盤散沙,或是一籃沒有整理過的雜物)
線性結構
一對一的資料存在,有先後順序的集合,像是陣列(Array)啊、串列(List)啊、堆疊(Stack)啊、佇列(Queue)等。

階層結構
一對多的資料存在,像是二元搜尋樹(有點像妳小時候看的祖譜那樣)

圖型結構
多對多的資料存在,不是單向的存在彼此間會有關聯,像是 google map 的觀光景點。

看完了這些,又對於之前聽過的一對一、一對多、多對多有了新的想法,為了取得資料與資料之間的關聯,正確的資料結構處理也相對重要。
有時候你會發現你處理過的資料越多,也許你沒看過這些,但你就有一種 fu (?) 就是你一直都往對的方向前進的感覺,但如果你想把每個知識連起來的話,還是需要常常去翻閱一些基礎的概念。
那麼今天練鍵盤就到這裡了,改天再見。