Miles' Blog

天涯何處無幹話,何必要講實務話

Data Structure

Data Structure 是電腦中儲存和組織資料的方式。

資料結構非常多選擇,在不同的情境下,都會有比較適合的資料結構。這個答案並沒有絕對,只要可以用較少的時間和空間資源,來達到較高的執行效率 for 某個特定狀況,就算是一個好的資料結構。

  • Sequential List - 循序串列是有一有順序的資料編排方法。結構簡單,但資料插入刪除不方便
  • Linked List - 鏈結串列,結構比 Sequential List 複雜,但資料插入刪除容易
  • Set - 集合中的元素不會重複
  • Queue - 佇列如同排隊一樣,先到的人先處理,於是就先離開;後到的人要等前面的人都處理結束之後,才輪得到他

Sequential List

循序串列是有一有順序的資料編排方法,因此又稱為有序串列 (Ordered List)。每筆資料會有序號當作是索引值,想存取資料時,可以由該索引值找到對應的資料。這就像現實生活中,可以由住家門牌號碼找到想找的人一樣。

優點:

  • 資料結構單純
  • 有索引就可以立刻找到資料,速度快

缺點:

  • 因資料結構太單純,導致資料在插入和刪除時,會需要移動大量的資料,嚴重影響整體的效率。

實作:

  • Array

Stack

堆疊,如同字面上的意思,像疊盤子一樣,一層一層的疊上去,所以當要使用盤子的時候,會拿到最後疊上去的盤子。專業術語叫 LIFO。

堆疊重要的操作如下:

  • push - 將資料放人堆疊中
  • pop - 將資料取出,記得 LIFO 原則。

References

0%