โครงสร้างข้อมูลใน Python
เผยแพร่แล้ว: 2022-06-03โครงสร้างข้อมูลเป็นหนึ่งในแนวคิดที่สำคัญที่สุดในวิทยาการคอมพิวเตอร์และการจัดการซอฟต์แวร์ และใช้กันอย่างแพร่หลายในการเขียนโปรแกรมในภาษาต่างๆ Python เป็นภาษาโปรแกรมที่มีประสิทธิภาพ โต้ตอบเชิงวัตถุ และตีความ โดยที่พื้นฐานของโครงสร้างข้อมูลสามารถศึกษาได้อย่างง่ายดายกว่า ไม่เหมือนภาษาโปรแกรมอื่นๆ
เป็นภาษาที่มีความหลากหลายและมีประสิทธิภาพมากที่สุดภาษาหนึ่งที่ใช้เป็นหลักในการสร้างเว็บไซต์เชิงโต้ตอบและระดับสูง และสาขาอื่นๆ เช่น การเรียนรู้ของเครื่องและปัญญาประดิษฐ์ มันอาศัยข้อมูลที่ต้องการอย่างมากในการจัดเก็บและเข้าถึงได้อย่างมีประสิทธิภาพตรงเวลา สิ่งนี้ทำได้ด้วยความช่วยเหลือของ โครงสร้าง ข้อมูล ใน Python
โครงสร้างข้อมูลคืออะไร?
วัตถุประสงค์หลักของโครงสร้างข้อมูลคือเพื่อให้มีการจัดระเบียบข้อมูลอย่างมีประสิทธิภาพสำหรับการจัดเก็บการรวบรวมข้อมูลและดำเนินการกับข้อมูลเหล่านั้น ตัวอย่างเช่น ในเว็บไซต์ ข้อมูลแบ็กเอนด์จะต้องมีการจัดเก็บ จัดการ และจัดระเบียบอย่างมีประสิทธิภาพเพื่อให้เข้าถึงได้ง่ายขึ้นสำหรับการแก้ไขในอนาคต
เรียนรู้หลักสูตรวิทยาศาสตร์ข้อมูลออนไลน์ที่ upGrad
โครงสร้างข้อมูลเชิงเส้น
โครงสร้างข้อมูลเชิงเส้นช่วยให้สามารถจัดเก็บองค์ประกอบข้อมูลในลำดับที่เหมาะสมได้ โครงสร้างข้อมูลเชิงเส้นมีหลายประเภท มีดังนี้ :-
- Array - การจัดเรียงตามลำดับขององค์ประกอบข้อมูลที่จับคู่กับดัชนีขององค์ประกอบข้อมูล
- กอง - กองเป็นโครงสร้างข้อมูลที่ปฏิบัติตามคำสั่งเฉพาะของการดำเนินงาน เรียกว่า FILO (เข้าก่อนออกก่อน) หรือ LIFO (เข้าก่อนออกก่อน)
- Linked List - ทุกองค์ประกอบข้อมูลประกอบด้วยการเชื่อมโยงไปยังองค์ประกอบอื่นและข้อมูลที่มีอยู่ในนั้น
- เมทริกซ์ - เมทริกซ์คือโครงสร้างข้อมูลสองมิติที่องค์ประกอบข้อมูลถูกระบุด้วยดัชนีคู่หนึ่ง
คิว - คิวคล้ายกับสแต็ค แต่ลำดับการดำเนินการเพียงอย่างเดียวคือ FIFO (เข้าก่อนออกก่อน)
อ่านบทความยอดนิยมของเราในสหรัฐอเมริกา - Data Science
หลักสูตรการวิเคราะห์ข้อมูลพร้อมใบรับรอง | JavaScript หลักสูตรออนไลน์ฟรีพร้อมใบรับรอง | คำถามและคำตอบสัมภาษณ์ Python ที่ถูกถามมากที่สุด |
คำถามและคำตอบในการสัมภาษณ์นักวิเคราะห์ข้อมูล | ตัวเลือกอาชีพด้าน Data Science อันดับต้น ๆ ในสหรัฐอเมริกา [2022] | SQL Vs MySQL – อะไรคือความแตกต่าง |
สุดยอดคู่มือสำหรับประเภทของข้อมูล | Python Developer เงินเดือนในสหรัฐอเมริกา | เงินเดือนนักวิเคราะห์ข้อมูลในสหรัฐอเมริกา: เงินเดือนเฉลี่ย |
โครงสร้างข้อมูลที่ไม่ใช่เชิงเส้น
โครงสร้างข้อมูลที่ไม่เป็นเชิงเส้นไม่เป็นไปตามการเชื่อมโยงตามลำดับขององค์ประกอบข้อมูล ในโครงสร้างข้อมูลนี้ กลุ่มหรือคู่ขององค์ประกอบข้อมูลใดๆ สามารถเชื่อมโยงถึงกันได้ และไม่มีลำดับที่เข้มงวดในการเข้าถึงองค์ประกอบข้อมูล
- ฮีป - ฮีปเป็นโครงสร้างข้อมูลต้นไม้ชนิดพิเศษที่ข้อมูลในโหนดหลักนั้นน้อยกว่าโหนดย่อยอย่างเคร่งครัด หรือมากกว่าหรือเท่ากับโหนดย่อยอย่างเคร่งครัด
- Binary Tree - ต้นไม้ไบนารีเป็นโครงสร้างข้อมูลที่เชื่อมต่อแต่ละองค์ประกอบข้อมูลกับองค์ประกอบข้อมูลอื่น ๆ จำนวนสูงสุดสององค์ประกอบ มันเริ่มต้นด้วยโหนดรูท
- กราฟ - กราฟคือการจัดเรียงของโหนดและจุดยอดที่โหนดบางโหนดเชื่อมต่อกับโหนดอื่นๆ ผ่านลิงก์
- Hash Table - ตารางแฮชเป็นโครงสร้างข้อมูลที่ทำจากอาร์เรย์ที่เกี่ยวข้องกันโดยใช้ฟังก์ชันแฮช ใช้คีย์เพื่อดึงค่ามากกว่าดัชนีจากองค์ประกอบข้อมูล
โครงสร้างข้อมูลใน ตัวใน Python
โครงสร้างข้อมูลใน Python มีความเฉพาะเจาะจงสำหรับภาษาการเขียนโปรแกรมนี้ เนื่องจากช่วยในการจัดเก็บที่ยืดหยุ่นของประเภทข้อมูลที่แตกต่างกัน และช่วยประมวลผลข้อมูลได้เร็วขึ้นในสภาพแวดล้อม Python เนื่องจากโครงสร้างข้อมูลเหล่านี้โหลดไว้ล่วงหน้าในสภาพแวดล้อมของ Python ภาษา Python จึงง่ายต่อการใช้งานสำหรับโปรแกรมเมอร์ เนื่องจากได้รับหรือสามารถพัฒนาโซลูชันได้เร็วขึ้น
Python มีการสนับสนุนโดยนัยสำหรับโครงสร้างข้อมูลซึ่งช่วยในการจัดเก็บและเข้าถึงข้อมูลได้ง่าย และช่วยให้ผู้ใช้สามารถสร้างโครงสร้างข้อมูลของตนเองด้วยการควบคุมทั้งหมด โครงสร้างข้อมูล inbuilt ใน Python มีดังนี้:-
รายการ
การรวบรวมรายการที่ได้รับคำสั่งถูกกำหนดให้เป็นรายการ ซึ่งเป็นส่วนสำคัญของโครงสร้างข้อมูลในการสร้างโครงการใน Python “คอลเลกชันที่สั่งซื้อ” หมายความว่าทุกรายการที่เป็นของรายการประกอบด้วยคำสั่งซื้อที่ใช้เฉพาะเพื่อระบุรายการที่ไม่ซ้ำ ลำดับขององค์ประกอบนี้เป็นลักษณะเฉพาะที่คงอยู่โดยเนื้อแท้ตราบเท่าที่รายการยังคงอยู่ ทุกสิ่งใน Python ถือเป็นวัตถุ ดังนั้น การสร้างรายการจะสร้างวัตถุ Python ขึ้นมาเป็นประเภทใดประเภทหนึ่งโดยเฉพาะ
List_A = [ข้อ 1, ข้อ 2, ข้อ 3….., ข้อ n]
เมื่อรายการถูกซ้อนกัน มันสามารถมีวัตถุชนิดใดก็ได้ หรือรวมรายการอื่น หรือรายการย่อยที่สามารถประกอบด้วยรายการย่อยที่แตกต่างกัน รายการที่ซ้อนกันไม่มีขีดจำกัดความลึกที่สามารถซ้อนรายการได้ รายการที่สร้างใน Python สามารถเปลี่ยนแปลงได้เนื่องจากอาจเปลี่ยนแปลงได้แม้ว่าจะถูกสร้างขึ้นแล้วก็ตาม ผู้ใช้สามารถเพิ่ม ค้นหา ย้าย ย้าย และลบองค์ประกอบจากรายการได้ตามดุลยพินิจของพวกเขา เมื่อองค์ประกอบในรายการจำเป็นต้องมีการแทนที่ จำนวนขององค์ประกอบที่เพิ่มเข้ามาไม่จำเป็นต้องเท่ากับจำนวนขององค์ประกอบ Python จะปรับตัวเองตามความต้องการ
ทูเปิล
ทูเพิลเป็นโครงสร้างข้อมูลอีกโครงสร้างหนึ่งใน Python และเป็นคอลเล็กชันที่เรียงลำดับของอ็อบเจ็กต์ Tuples มาพร้อมกับฟังก์ชันที่มีขอบเขต ไม่เหมือนรายการ ความผันแปรเป็นลักษณะเฉพาะหลักที่ใช้ในการแยกความแตกต่างระหว่างทูเปิลส์และรายการ รายการเปลี่ยนแปลงได้ และทูเพิลไม่เปลี่ยนรูปแบบ ไม่สามารถเพิ่ม แก้ไข หรือลบทูเพิลได้เมื่อสร้างแล้ว ในรายการ ต้องใช้วงเล็บเพื่อปิดองค์ประกอบที่หารด้วยเครื่องหมายจุลภาค ในทางกลับกัน ทูเพิลสามารถเลือกที่จะใช้วงเล็บในการสร้างได้ แต่แนะนำให้แยกแยะระหว่างจุดเริ่มต้นและจุดสิ้นสุดของทูเปิล นี่คือตัวอย่าง tuple:
tuple_A = (ข้อ 1, ข้อ 2, ข้อ 3,…, ข้อ n)
Tuples ถูกสร้างขึ้นเป็นเอนทิตีเดียวและใช้เป็นหลักเมื่อโปรแกรมเมอร์ไม่ต้องการอนุญาตให้แก้ไขข้อมูลใด ๆ มีการใช้กันอย่างแพร่หลายเพื่อสร้างวัตถุที่ตั้งใจจะรักษาไว้ตลอดอายุการใช้งาน เนื่องจากทูเพิลไม่สามารถเปลี่ยนแปลงได้ จึงสามารถป้องกันการดัดแปลง เพิ่ม หรือลบข้อมูลโดยไม่ได้ตั้งใจ ข้อดีอย่างหนึ่งของการใช้ทูเพิลคือใช้หน่วยความจำน้อยกว่า ซึ่งช่วยให้รันโปรแกรมได้เร็วกว่าการใช้รายการ
ชุด
คอลเล็กชั่นเฉพาะขององค์ประกอบเฉพาะที่ไม่อยู่ภายใต้ลำดับใด ๆ เรียกว่าชุด เมื่อวัตถุมีอยู่ในชุดของวัตถุมีความสำคัญมากกว่าลำดับของวัตถุหรือจำนวนครั้งที่ปรากฏ ชุดจะถูกใช้ ชุดเปลี่ยนแปลงได้ ไม่เหมือนกับสิ่งอันดับ และสามารถแก้ไข แทนที่ เพิ่ม หรือนำออกได้อย่างง่ายดาย นี่คือชุดตัวอย่าง:-
set_a = {"รายการ 1", "รายการ 2", "รายการ 3",….., "รายการ n"}
ชุดจะใช้เป็นหลักในการตรวจสอบว่าองค์ประกอบบางอย่างอยู่ภายในชุดหรือไม่ ตัวอย่างเช่น ชุดได้รับการปรับให้เหมาะสมอย่างมากสำหรับการทดสอบสมาชิกภาพ นอกจากนี้ยังสามารถใช้เพื่อดูว่าชุดนั้นเป็นชุดย่อยของชุดอื่นหรือไม่และรับรู้ถึงความสัมพันธ์ระหว่างสองชุด
พจนานุกรม
พจนานุกรมในโครงสร้างข้อมูลแบบอินทิกรัลที่ใช้ใน Python เป็นการรวบรวมค่าข้อมูลที่ไม่เป็นเชิงเส้นและใช้เพื่อจัดเก็บค่าข้อมูลเฉพาะเช่นแผนที่เป็นหลัก พจนานุกรมเก็บคู่คีย์:ค่า ซึ่งแตกต่างจากประเภทข้อมูลที่แตกต่างกันซึ่งมีค่าเฉพาะเพียงค่าเดียวเป็นองค์ประกอบ คีย์-ค่ามีให้ในพจนานุกรมเพื่อเพิ่มประสิทธิภาพ ในพจนานุกรม Python มีหลายวิธีในการเพิ่มองค์ประกอบ ในแต่ละครั้ง คุณสามารถเพิ่มค่าลงในพจนานุกรมได้เพียงค่าเดียวโดยกำหนดค่าด้วยคีย์ ต้องใช้เมธอด update() ในตัวเพื่ออัปเดตค่าที่มีอยู่ในพจนานุกรม นอกจากนี้ยังสามารถเพิ่มค่าคีย์ที่ซ้อนกันไปยังพจนานุกรมที่มีอยู่แล้วได้อีกด้วย หากคีย์-ค่ามีอยู่แล้วในขณะที่เพิ่มค่า ค่าจะได้รับการอัปเดต มิฉะนั้น คีย์ใหม่จะถูกเพิ่มลงในพจนานุกรมด้วยค่า
ตรวจสอบสหรัฐอเมริกา - โปรแกรมวิทยาศาสตร์ข้อมูล
หลักสูตรประกาศนียบัตรวิชาชีพด้านวิทยาศาสตร์ข้อมูลและการวิเคราะห์ธุรกิจ | วิทยาศาสตรมหาบัณฑิตสาขาวิทยาศาสตร์ข้อมูล | วิทยาศาสตรมหาบัณฑิตสาขาวิทยาศาสตร์ข้อมูล | หลักสูตรประกาศนียบัตรขั้นสูงด้านวิทยาศาสตร์ข้อมูล |
Executive PG Program in Data Science | Python Programming Bootcamp | หลักสูตรประกาศนียบัตรวิชาชีพด้านวิทยาศาสตร์ข้อมูลเพื่อการตัดสินใจทางธุรกิจ | หลักสูตรขั้นสูงด้านวิทยาศาสตร์ข้อมูล |
ในการประกอบอาชีพด้านวิทยาศาสตร์ข้อมูล คุณควรมีความรู้อย่างละเอียดเกี่ยวกับ โครงสร้างข้อมูลใน Python หากคุณกำลังดิ้นรนในการหาหลักสูตรที่น่าเชื่อถือ upGrad มี หลักสูตรประกาศนียบัตรวิชาชีพชั้นสูงที่ดีที่สุดใน Data Science และ Business Analytics จาก University of Maryland ซึ่งเป็นมหาวิทยาลัยระดับท็อปของสหรัฐฯ เพื่อช่วยให้คุณเริ่มต้นและให้ความเข้าใจอย่างถ่องแท้ในวิชานี้
โครงสร้างข้อมูลที่สำคัญที่สุดใน Python คืออะไร?
โครงสร้างข้อมูลที่สำคัญที่สุดใน Python คือ Dictionary เนื่องจากมีการปรับให้เหมาะสมสูงและสามารถจับคู่ข้อมูลจำนวนมากได้
ทำไมเราต้องการโครงสร้างข้อมูลใน Python
โครงสร้างข้อมูลจำเป็นสำหรับการจัดโครงสร้างและจัดหมวดหมู่โค้ด ในขณะเดียวกันก็ทำให้โปรแกรม Python เข้าถึง ใช้ หรือแก้ไขข้อมูลได้ง่าย
โครงสร้างข้อมูลในตัวหลักใน Python คืออะไร
Lists, Set, Dictionary และ Tuple เป็นโครงสร้างข้อมูลหลักสี่โครงสร้างในตัวของ Python