รู้จัก Data Structure คืออะไร ใช้ทำอะไร ทักษะสู่อนาคต

รู้จัก Data Structure คืออะไร หน้าปก

เทคโนโลยีและการประมวลผลข้อมูลเติบโตขึ้นอย่างรวดเร็วในปัจจุบัน ความสามารถในการจัดการข้อมูลจึงเป็นสิ่งที่สำคัญมาก ภาษาคอมพิวเตอร์จึงมีโครงสร้างข้อมูล (Data Structure) เข้ามาช่วยให้เพื่อน ๆ สามารถจัดเก็บและจัดการข้อมูลได้อย่างมาีประสิทธิภาพ รวมถึงการเข้าถึงข้อมูลได้อย่างรวดเร็ว แล้ว Data Structure คืออะไร ใช้งานอะไรได้บ้าง มาเรียนรู้ไปพร้อม ๆ กันกับ รู้จัก Data Structure คืออะไร ใช้ทำอะไร ทักษะสู่อนาคต

Data Structure คืออะไร ?

Data Structure คืออะไร

Data Structure หรือโครงสร้างข้อมูล ในด้านคอมพิวเตอร์หมายถึง การจัดเก็บและจัดการข้อมูลในคอมพิวเตอร์ เพื่อให้สามารถเข้าถึงและประมวลผลข้อมูลได้อย่างมีประสิทธิภาพ รวมถึงจะทำให้การใช้งานข้อมูลได้สะดวกและรวดเร็วขึ้นทั้ง การเพิ่ม-ลด การค้นหา หรือการแก้ไขข้อมูล

การแบ่งประเภทของโครงสร้างข้อมูล

ประเภทของ Data Structure

Data Structure แบ่งออกได้เป็น 2 ประเภทหลัก ๆ คือ โครงสร้างข้อมูลเชิงเส้น (Linear Data Structure) และโครงสร้างข้อมูลไม่เป็นเชิงเส้น (Non-Linear Data Structure) ซึ่งในโครงสร้างข้อมูลแต่ละประเภทมีการจัดเก็บข้อมูลแตกต่างกันดังนี้

โครงสร้างข้อมูลเชิงเส้น (Linear Data Structure)

โครงสร้างข้อมูลเชิงเส้น เป็นโครงสร้างที่เก็บและเข้าถึงข้อมูลในลักษณะเส้นตรง โดยข้อมูลแต่ละตำแหน่งจะมีการจัดเรียงแบบต่อเนื่องกัน และการเข้าถึงข้อมูลตามลำดับ ตัวอย่างของโครงสร้างข้อมูลเชิงเส้น เช่น Array และ List

โครงสร้างข้อมูลไม่เป็นเชิงเส้น (Non-Linear Data Structure)

โครงสร้างข้อมูลไม่เป็นเชิงเส้น เป็นโครงสร้างที่เก็บและเข้าถึงข้อมูลในลักษณะที่ไม่เป็นเส้นตรง โดยมีลักษณะการเชื่อมโยงกันที่ซับซ้อนมากขึ้นและไม่ต่อเนื่อง เข้าถึงข้อมูลโดยการระบุต่ำแหน่ง ตัวอย่างของโครงสร้างข้อมูลไม่เป็นเชิงเส้น เช่น โครงสร้างแบบต้นไม้ (Tree) และ โครงสร้างแบบกราฟ (Graph)

รูปแบบโครงสร้างข้อมูลที่พบบ่อย

ในโครงสร้างข้อมูลทั้งเชิงเส้นและไม่เป็นเชิงเส้น นั้นก็มีรูปแบบมากมาย ซึ่งเราจะยกรูปแบบของโครงสร้างข้อมูลที่พบบ่อยและใช้งานอย่างแพร่หลาย จะมีอะไรกันบ้างมาดูกัน

Array

โครงสร้างข้อมูล Array

โครงสร้างข้อมูลแบบ Array เป็นโครงสร้างแบบเชิงเส้น มีลักกษณะการจัดเก็บข้อมูลแบบเป็นลำดับ หรือเรียกอีกอย่างว่าโครงสร้างแบบแถวลำดับ โดยในหนึ่งตัวแปรสามารถเก็บข้อมูลได้หลายค่า แต่ละค่าต้องมีขนาดเท่ากันและเป็นข้อมูลชนิดเดียวกัน อาร์เรย์ถือเป็นโครงสร้างที่คงที่เมื่อกำหนดขนาดแล้วจะไม่สามารถเปลี่ยนแปลงได้ การอ้างอิงตำแหน่งสามารถทำได้โดยการใช้การใช้เลขดัชนี (Index) หรือซับสคริปต์ (Subscript)โครงสร้างข้อมูลชนิดนี้เหมาะกับข้อมูลที่ระบุขนาดชัดเจน

List

โครงสร้างข้อมูล List

โครงสร้างข้อมูลแบบ List หรือ Linked List เป็นโครงสร้างเชิงเส้น มีลักษณะการเก็บข้อมูลเป็นแถวลำดับใกล้เคียงกับ Array แต่ด้วยการเก็บข้อมูลที่จำกัดของอาเรย์ ลิงค์ลิสต์จึงเข้ามาแก้ไขปัญหาในส่วนนี้ โดยโครงสร้างข้อมูลแบบ List สามารถเพิ่ม-ลดข้อมูลได้ตราบใดที่ยังมีหน่วยความจำเหลืออยู่ โดยลิงค์ลิสต์ประกอบด้วย 2 ส่วนคือฟิลด์ข้อมูล (Data Field)เป็นส่วนที่ใช้เก็บข้อมูลและ ฟิลด์ตัวชี้ (Link Field หรือ Pointer) เป็นส่วนที่เก็บตำแหน่งของข้อมูลตัวถัดไป ซึ่งข้อมูลแต่ตำตำแหน่งจะถูกเรียกว่าโหนด (Node) ทำให้ List เหมาะกับชุดข้อมูลที่ไม่รู้ขนาด

Queue

โครงสร้างข้อมูล Queue

โครงสร้างข้อมูลแบบ Queue เป็นโครงสร้างเชิงเส้น มีลักษณะแบบ FIFO (First in First out) หรือเข้าก่อนออกก่อนซึ่งก็คือข้อมูลจะเข้าและออกจากคิวตามลำดับ ข้อมูลแรกที่เข้ามาก็จะออกเป็นข้อมูลแรก จะคล้ายคลึงกับการเข้าแถว โดยส่วนที่นำเข้าข้อมูลจะเรียกว่า Rear และ ส่วนนำออกเรียกว่า Front 

Stack

โครงสร้างข้อมูล Stack

โครงสร้างข้อมูลแบบ Stack เป็นโครงสร้างเชิงเส้น มีลักษณะเป็นลำดับใกล้เคียงกับ Queue แต่สแตกจะมีลักษณะการนำเข้าและนำออกข้อมูลแบบ LIFO (Last in First out) ที่ข้อมูลตัวสุดท้ายที่นำเข้าจะเป็นตัวแรกที่นำออก ที่ส่วนบนสุดเรียกว่า Top คล้ายกับการวางสิ่งของซ้อนกันเวลาหยิบก็ต้องหยิบจากบนสุด

Tree

โครงสร้างข้อมูล Tree

โครงสร้างข้อมูลแบบ Tree หรือโครงสร้างต้นไม้เป็นโครงสร้างไม่เป็นเชิงเส้น มีลักษณะการเก็บข้อมูลแบบลำดับชั้น โดยข้อมูลในแต่ละตำแหน่งจะเรียกว่าโหนด (Node) และโหนดแรกสุดจะเรียกว่าราก (Root node) ในแต่ละโหนดจะมีเส้นเชื่อมที่ชี้ลงไปที่โหนดถัดไปเรียกว่าบรานซ์ (Branch) เพื่อแสดงให้เห็นโหนดพ่อแม่ (Parent node)ถ้าจะให้เห็นภาพง่าย ๆ ก็จะคล้ายคลึงกับแผนผังครอบครัว หรือแผนผังผู้บริหารนั้นเอง

Graph

โครงสร้างข้อมูล Graph

โครงสร้างข้อมูลแบบกราฟ เป็นโครงสร้างแบบไม่เป็นเชิงเส้น มีลักษณะการเชื่อมโยงเป็นตาข่าย ที่แสดงให้เห็นถึงความสัมพันธ์ของกลุ่มโหนด ที่มีโครงสร้างเชื่อมโยงไขว้กันไปมา ประกอบด้วย กลุ่มของโหนดเรียกว่า เวอร์เทกซ์ (Vertex) และกลุ่มของเส้นที่ใช้เชื่อมโยงเวอร์เทกซ์ เรียกว่า เอดจ์ (Edge)ซึ่งเป็นโครงสร้างที่ซับซ้อนจึงทำให้เหมาะกับการใช้แก้ไขปัญหาแบบเครือข่ายที่มีความซับซ้อนได้เป็นอย่างดี

Data Structure & Algorithm

Data Structure & Algorithm คืออะไร

หลังจากเพื่อน ๆ เข้าใจว่า Data Structure คืออะไร แล้วการนำโครงสร้างข้อมูลไปใช้งานนั้นก็ค่อนข้างหลากหลาย หนึ่งในนั้นคือสิ่งที่เกิดขึ้นอยู่เบื้องหลังสิ่งที่ทุกคนใช้งานในชีวิตประจำวัน อย่างโปรแกรมหรือแอพพลิเคชั่นต่าง ๆ นั้นเอง หรือก็คือการแบ่งส่วนงานใน Application แอพหนึ่งก็คือโครงสร้างข้อมูล + Algorithm ซึ่งเป็นกระบวนการทำงานของโปรแกรมนั้น ๆ ถือว่าเป็นสิ่งสำคัญที่จะต้องเข้าใจในการผลิตโปรแกรมหนึ่งขึ้นมา ถ้าเพื่อน ๆ เข้าใจพื้นฐานของ Data Structure และ Algorithm เป็นอย่างดีก็จะสามารถเลือกวิธีตัดสินใจแก้ไขปัญหาได้อย่างถูกต้อง ในทุก ๆ สถานการณ์ได้ดียิ่งขึ้น

Data Structure คืออะไร สรุป

เรื่องของโครงสร้างข้อมูลเพื่อน ๆ อาจจะมองว่าเป็นเรื่องที่ไกลตัว แต่ในความเป็นจริงแล้วเป็นสิ่งที่แอบแฝงอยู่เบื้องหลังในชีวิตประจำวันของเราทุกคน การที่พาเพื่อน ๆ ได้รู้จักว่า Data Structure คืออะไร ในครั้งนี้จะต้องเป็นประโยชน์อย่างแน่นอน เราหวังว่าเพื่อน ๆ จะสามารถนำความรู้เหล่านี้ไปประยุกต์ใช้ในชีวิตประจำวันได้อย่างมีประสิทธิภาพ ถ้าทุกคนสนใจความเกี่ยวกับสาย Data เพิ่มเติมก็อย่าลืมที่จะนึกถึง LearningFeel กันด้วยหละ ในวันนี้ก็มีเพียงเท่านี้ สวัสดีนะ

Verified by MonsterInsights