Python - DS บทนำ

ภาพรวมโครงสร้างข้อมูล

โครงสร้างข้อมูลเป็นแนวคิดพื้นฐานของวิทยาการคอมพิวเตอร์ซึ่งช่วยในการเขียนโปรแกรมที่มีประสิทธิภาพในภาษาใดก็ได้ Python เป็นภาษาสคริปต์ระดับสูงที่ตีความโต้ตอบและเชิงวัตถุโดยใช้ซึ่งเราสามารถศึกษาพื้นฐานของโครงสร้างข้อมูลได้ง่ายกว่าเมื่อเทียบกับภาษาโปรแกรมอื่น ๆ

ในบทนี้เราจะศึกษาภาพรวมสั้น ๆ ของโครงสร้างข้อมูลที่ใช้บ่อยโดยทั่วไปและวิธีที่เกี่ยวข้องกับประเภทข้อมูล python เฉพาะบางประเภท นอกจากนี้ยังมีโครงสร้างข้อมูลบางอย่างเฉพาะสำหรับ python ซึ่งแสดงเป็นหมวดหมู่อื่น

โครงสร้างข้อมูลทั่วไป

โครงสร้างข้อมูลต่างๆในวิทยาการคอมพิวเตอร์แบ่งออกเป็นสองประเภทตามที่แสดงด้านล่าง เราจะพูดคุยเกี่ยวกับโครงสร้างข้อมูลด้านล่างโดยละเอียดในบทต่อ ๆ ไป

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

นี่คือโครงสร้างข้อมูลที่จัดเก็บองค์ประกอบข้อมูลในลักษณะตามลำดับ

  • Array: เป็นการจัดเรียงตามลำดับขององค์ประกอบข้อมูลที่จับคู่กับดัชนีขององค์ประกอบข้อมูล
  • Linked List: องค์ประกอบข้อมูลแต่ละองค์ประกอบมีลิงก์ไปยังองค์ประกอบอื่นพร้อมกับข้อมูลที่อยู่ในนั้น
  • Stack: เป็นโครงสร้างข้อมูลที่ตามลำดับการดำเนินการเฉพาะเท่านั้น LIFO (สุดท้ายใน First Out) หรือ FILO (First in Last Out)
  • Queue: คล้ายกับ Stack แต่ลำดับการทำงานเป็นเพียง FIFO (First In First Out)
  • Matrix: เป็นโครงสร้างข้อมูลสองมิติที่องค์ประกอบข้อมูลถูกอ้างถึงโดยคู่ของดัชนี

โครงสร้างข้อมูลที่ไม่ใช่ Liner

นี่คือโครงสร้างข้อมูลที่ไม่มีการเชื่อมโยงตามลำดับขององค์ประกอบข้อมูล คู่หรือกลุ่มขององค์ประกอบข้อมูลใด ๆ สามารถเชื่อมโยงกันและสามารถเข้าถึงได้โดยไม่ต้องมีลำดับที่เข้มงวด

  • Binary Tree: เป็นโครงสร้างข้อมูลที่แต่ละองค์ประกอบข้อมูลสามารถเชื่อมต่อกับองค์ประกอบข้อมูลอื่น ๆ ได้สูงสุดสององค์ประกอบและเริ่มต้นด้วยโหนดรูท
  • Heap: เป็นกรณีพิเศษของโครงสร้างข้อมูล Tree ที่ข้อมูลในโหนดแม่มีค่ามากกว่า / เท่ากับโหนดลูกอย่างเคร่งครัดหรือน้อยกว่าโหนดลูกอย่างเคร่งครัด
  • Hash Table: เป็นโครงสร้างข้อมูลที่สร้างจากอาร์เรย์ที่เชื่อมโยงกันโดยใช้ฟังก์ชันแฮช จะดึงค่าโดยใช้คีย์แทนที่จะเป็นดัชนีจากองค์ประกอบข้อมูล
  • Graph: .เป็นการจัดเรียงของจุดยอดและโหนดที่มีบางโหนดเชื่อมต่อกันผ่านลิงก์

โครงสร้างข้อมูลเฉพาะของ Python

โครงสร้างข้อมูลเหล่านี้เฉพาะสำหรับภาษา python และให้ความยืดหยุ่นมากขึ้นในการจัดเก็บข้อมูลประเภทต่างๆและการประมวลผลที่เร็วขึ้นในสภาพแวดล้อม python

  • List: คล้ายกับอาร์เรย์โดยมีข้อยกเว้นว่าองค์ประกอบข้อมูลอาจเป็นประเภทข้อมูลที่แตกต่างกัน คุณสามารถมีทั้งข้อมูลตัวเลขและข้อมูลสตริงในรายการหลาม
  • Tuple: สิ่งทอจะคล้ายกับรายการ แต่ไม่เปลี่ยนรูปซึ่งหมายความว่าค่าในทูเปิลไม่สามารถแก้ไขได้ซึ่งสามารถอ่านได้เท่านั้น
  • Dictionary: พจนานุกรมมีคู่คีย์ - ค่าเป็นองค์ประกอบข้อมูล

ในบทต่อไปเราจะเรียนรู้รายละเอียดว่าโครงสร้างข้อมูลเหล่านี้สามารถใช้งานได้อย่างไรโดยใช้ Python