Data Structure หรือโครงสร้างข้อมูลเป็นเสมือนการจัดวางหนังสือลงในชั้นหนังสือให้เป็นระเบียบ ถ้าเรามีหนังสือเยอะแยะมากมายแต่ไม่ได้จัดวางอย่างเป็นระเบียบ ตอนที่เราต้องการหาหนังชื่อ "โลกใบสีเขียว" เราคงต้องค้นพบชั่วโมง!
ให้เราจินตนาการว่าศาสตร์ของโครงสร้างข้อมูลเหมือนกับการที่เรามีกระเป๋าสารพัดประโยชน์ที่ช่วยให้เราจัดกลุ่มหนังสือตามหมวดหมู่ และติดป้ายชื่อไว้ แบบนี้เวลาเราต้องการหนังสือชื่อ "โลกใบสีเขียว" เราก็สามารถหามันได้ง่ายๆ จากกลุ่ม "วรรณกรรมเยาวชน" โดยไม่ต้องการเสียเวลาค้นหานานๆ
ในโลกของการเขียนโปรแกรม เรามีข้อมูลมหาศาลที่รอการจัดหมวดหมู่ โครงสร้างข้อมูลช่วยให้เราหาข้อมูลได้ง่ายและเร็วเหมือนการหยิบหนังสือจากกระเป๋าวิเศษของเราเองนั่นเอง!
จำที่เราบอกเรื่องถังขยะที่จัดการไม่ให้เราหลงทางได้มั้ย? ตอนนี้เราจะมาดูกันว่าถังขยะแต่ละชนิดช่วยเราอย่างไรบ้าง:
- Arrays (แถว) เหมือนชั้นหนังสือที่มีช่องว่างกำหนดเรียงจาก 1-100 แต่ละช่องใส่หนังสือเล่มเดียว - Linked Lists (รายการโยง) เหมือนกับโซ่ที่หนังสือแต่ละเล่มมีเชือกผูกต่อกันไปเรื่อยๆ ต้องผ่านเชือกทีละเล่มเพื่อหาหนังสือที่ต้องการ - Stacks (กองซ้อน) กำหนดได้ว่าเราสามารถวางหนังสือเพิ่มเติมในกองได้แต่เราหยิบหนังสือได้เสมอที่อยู่ด้านบนสุดก่อน - Queues (แถวคอย) เหมือนกับเด็กๆ ที่จะไปหยิบน้ำหวาน คนไหนมาก่อนก็ได้ก่อน - Trees (ต้นไม้) เหมือนกับมีหัวหน้าหนังสือที่อยู่ ณ จุดสูงสุด และหนังสือแต่ละเล่มก็เป็นลูกหลานที่แยกกันออกไปแน่นอนว่ามีหลายโครงสร้างการจัดข้อมูลในการเขียนโปรแกรม ซึ่งแต่ละตัวมีประสิทธิภาพอย่างยิ่งเมื่อใช้ในสถานการณ์ที่เหมาะสม!
ลองคิดดูล่ะกันว่าถ้าเรามีหนังสือรับรองสุขภาพของนักเรียนในโรงเรียนที่ต้องการจัดเก็บไว้ให้ครูทุกคนสามารถใช้ข้อมูลได้สะดวก เราอาจจำเป็นต้องใช้โครงสร้างข้อมูลแบบไหน?
- ถ้าต้องการหาผลตรวจล่าสุดเราอาจจะใช้ Stack เพราะผลตรวจที่มาใหม่ๆ มักจะสำคัญที่สุด - หรือถ้าต้องการให้ครูซึ่งมีตารางเวลาตรวจที่แน่นอน การใช้ Queue จะช่วยจัดการลำดับคิวได้เป็นอย่างดี
บทความนี้เพียงแค่น้ำจิ้มเล็กน้อยที่ EPT หรือ Expert-Programming-Tutor มีหลากหลายคอร์สที่พร้อมเปิดมิติใหม่ให้กับผู้เรียนในการเสริมสร้างหลักการโครงสร้างข้อมูลและการเขียนโปรแกรมที่มั่นคง หากคุณรู้สึกตื่นเต้นกับการศึกษาเรื่องโครงสร้างข้อมูล เรายินดีต้อนรับเสมอที่ EPT ที่คุณจะได้เรียนรู้มากกว่า...อย่างที่คุณคาดคิด!
ท้ายที่สุดนี้ การเรียนรู้โครงสร้างข้อมูลไม่ใช่เพียงแค่เรื่องยากที่เด็ก 8 ขวบไม่เข้าใจ แต่ด้วยการอธิบายที่เป็นภาพและมีตัวอย่างชีวิตจริง มันจะทำให้เด็กน้อยทุกคนสามารถเข้าใจได้ง่ายดาย เหมือนกับการเรียนรู้ภาษาใหม่หรือวิธีการเล่นเกมใหม่ๆนั่นเอง!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM