3 分鐘閱讀

第 03 週開發日誌

從 Stack、Queue、ArrayList、LinkedList 到三種排序法的第三週學習紀錄。

資料進出的規則:Stack 與 Queue

  • 資料結構,一個常聽到的詞,對工程師來說非常重要,但一直都只能隱約感受其重要性。
  • 查定義是指「抽象資料型別」,這定義越查越不懂:抽象?什麼抽象?後面的解釋比較能理解:「具有類似行為的特定類別的資料結構的數學模型」。在我目前能理解的,應是說將這個類存放資料進出的方式做一個限制或定義,所以在讀取資料時,因為行為方式的限制,可以知道這個資料在整體資料庫中的大體相對位置。
  • 生活上的範例:像是排隊,先排的先處理;回到上一步的功能,就是取最後一次的紀錄依序取。所以很明顯地,當這個資料庫要處理什麼樣的行為時,是選擇哪種資料結構的重點。

資料整理擺放的方式:ArrayList 與 LinkedList

  • 先前已經時常接觸到 ArrayList,再加上 LinkedList 後,搭配現在學到的資料結構,兩種資料集合雖然都能實現兩種資料結構,但因為資料集合的特性不同,會導致在資料結構上處理需求行為的所需時間不同,以及記憶體空間的使用。
  • 當然如果都用小程式或超級電腦,當然就可以不鳥它,但現實是骨感的。

如何整理你的資料:三大排序法

氣泡排序法、插入排序法與選擇排序法:

  • 想用東西時就找不到東西?你有這種困擾嗎?你要吃銀杏嗎?
  • 這時事先整理分類就重要了,再搭配搜尋法,事半功倍。如何將亂成一團的資料乖乖排好,還真沒想到有這麼多種方式。看著動畫一步步拆解行為所需要的程式碼,也是現階段急需鍛鍊的技能。