คู่มือโอลิมปิกคอมพิวเตอร์

Computer Olympiad Guide for Thai High School Students

review

stack and queue

  • stack: first in last out

    • นึกถึงกองจาน

  • queue: first in first out

    • คิวทั่วไป

linked list

  • เป็น concept ที่เป็นโครงสร้างแนวเดียวกับ array แต่ข้อดีข้อเสียต่างกัน

    GeeksforGeeks visual reference
    GeeksforGeeks visual reference. Source: media.geeksforgeeks.org

dynamic array

  • ใช้ vector ของ stl

binary tree

Wikimedia Commons visual reference
Wikimedia Commons visual reference. Source: upload.wikimedia.org

heap

External reference: s3-us-west-2.amazonaws.com
External reference: s3-us-west-2.amazonaws.com. Source: s3-us-west-2.amazonaws.com

priority queue

Programiz visual reference
Programiz visual reference. Source: cdn.programiz.com

binary search tree

Wikimedia Commons visual reference
Wikimedia Commons visual reference. Source: upload.wikimedia.org

set, map

  • เหมือน set ทางคณิตศาสตร์

  • map

    • เหมือน dictionary ใน Python

    • เสมือน array ที่ index เป็นอะไรก็ได้

graph

  • มี cycle

    • tree เป็น graph ที่ไม่มี cycle

hash table

  • data structure ที่ใช้บีบข้อมูลให้เล็กลงโดยอาจจะเสียความละเอียดไป

  • เช่น บีบ string ให้เหลือแค่ int ผ่าน hash function แต่ก็มีโอกาสชนกันเป็นปัญหา collision