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