【隨堂筆記】資料結構基礎概論


  • 程式設計 = 資料結構 + 演算法
  • 資料結構:資料儲存在記憶體的方式
    -> 提升程式執行效率、節省記憶體空間使用量
  • 資料儲存方式:array、鍵結串列(link list)、佇列(queue)、堆疊(stack)、樹(tree)、圖形(graph)
  • array -> 使用連續的記憶體位址存資料
  • array
    優點:循序存放資料要存取資料很容易
    缺點:中間插入資料時,需要將後面其他元素往後平移,較為麻煩,且容易有記憶體空間的浪費
  • link list:透過記錄下一個節點的記憶體位置讓儲存資料更為彈性,不用綁在依序的記憶空間上,因此中間插入資料也容易(記憶位址不一定要連續)
  • 佇列(queue):FIFO(First in First Out),先進先出
    Enqueue :新元素加入佇列最後
    Dequeue :最前面的元素離開佇列,先來的先出去
  • 堆疊(stack):IFO(Last In, First Out),後進先出
    Push :新元素加入堆疊最後
    Pop :將最後面元素取出堆疊,後來的先出去
  • 樹(tree):由根節點(root node)出發,下方分別為子節點,子節點又會有子節點。可以透過陣列或是鏈結串列來實作樹(tree)資料結構
  • 圖形(graph):主要由節點(vertices)和邊(edge)所組成,若是邊有方向性則稱為有向圖,反之則為無向圖,邊上也可以有加權數字來表示權重或是距離






你可能感興趣的文章

The Zen Programmer 程式設計之禪書摘

The Zen Programmer 程式設計之禪書摘

[雷雷夥伴] How to use azure function to manage azure resource

[雷雷夥伴] How to use azure function to manage azure resource

SQL-injection lab(2)

SQL-injection lab(2)






留言討論