โครงสร้างข้อมูลใน 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