iT邦幫忙

DAY 2
1

成為資料工程師最初的 28 堂課系列 第 2

資料工程師第 1/28 課: 資料結構

說是要為資料工程師, 第一件事是先了解甚麼是資料, 也就是資料結構, 雖然說現在有很多資訊都是非結構化 (unstructured), 但很多底層都是由結構化的資料去開發出來的, 若了解甚麼是資料結構, 對處理資料的方法是事半功倍, 雖然這堂課是大一必修, 但對絕大多數人在修這堂課時並沒有感受到這課的重要性, 這時候是應該重新拿出討來複習一下吧:

  • 課程題目: Data Structure
  • 大學學程: 資訊類大一必修
  • 困難度: *
  • 必要度: *****
  • 所須時間: ***
  • 建議書輯: Fundamentals of Data Structure in C

在 wiki 中, 裏面說得常見的資料結構有下面幾種:

[*]陣列(Array)
[*]堆疊(Stack)
[*]隊列(Queue)
[*]鏈錶(Linked List)
[*](Tree)
[*](Graph)
[*](Heap)
[*]雜湊表(Hash)

但這只是大方向, 真的在實用還有更多與更細的要去了解與操作, 有人整理一張表, 算出常用的 Data Types, 其中也包含資料結構與內容, 大約有 180 種, 如下圖:

也就是說, 真正實務上要去了解的說不定更多, 雖然真正在使用如一開始所說的是自然語言或非結構化資料, 甚至所謂的 Plain-Text 這種 DataType 可以解決大多數的問題, 但真正還是要加入一些標籤 (Tag) 等屬性 (Attribute) 的概念進內容才能夠了解, 這也是為甚麼說常用的 XML (eXtensiable Markup Language) 已經迎合大部份須求了.

常用的資料類別 (Data Type):

  • 整數 (Integer)
  • 布林值 (Booleans)
  • 字元 (Characters)
  • 浮點數 (Floating-Point Numbers)
  • 文字串 (Alphanumeric Strings)

但這些資料結構的學習說是最基礎, 最後還是要實務與生活結合, 也就是說, 從資料結構中 (Data Structure) 的資料類別 (Data Type) 導引出最後使用的資料格式 (Data Format), 所有的通訊協定都是資料的串接, 也就是說沒有定義出合用的格式, 類別, 結構, 所有的內容都是無法交換與解讀, 換言之就是失去資料真正的意義.

甚至要學會資料的 Class, 以及使用的方法 Method 跟最後要如何寫程式, 如何運作程式有很大的相關, 因為最後程式就是要運算這些資料 Data, 若對資料本身不了解如何開始呢?

建議免費電子書: Data Structures and Algorithms in Python http://it-ebooks.info/book/2467/

開放課程: http://ocw.nctu.edu.tw/course\_detail.php?bgid=9&gid=0&nid=412


上一篇
成為資料工程師最初的 28 堂課
下一篇
資料工程師第 2/28 課: 數值分析/方法
系列文
成為資料工程師最初的 28 堂課30

1 則留言

0
盧卡斯
iT邦研究生 1 級 ‧ 2 年前

熟悉的感覺,最近狂翻

我要留言

立即登入留言