วิธีการติดตั้งรายการที่เชื่อมโยงใน Python



บทความนี้แสดงวิธีสร้างรายการที่เชื่อมโยงใน python ด้วยวิธีการต่างๆเพื่อแทรกการอัปเดตและลบองค์ประกอบในรายการที่เชื่อมโยง

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

เอาล่ะ!!





Linked List คืออะไร?

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

รายการที่เชื่อมโยงคือโครงสร้างข้อมูลเชิงเส้นที่มีการรวบรวมหลายโหนด โดยที่ eองค์ประกอบ ach เก็บข้อมูลของตัวเองและตัวชี้ไปยังตำแหน่งขององค์ประกอบถัดไป ลิงก์สุดท้ายในรายการที่เชื่อมโยงชี้ไปที่ค่าว่างซึ่งระบุจุดสิ้นสุดของห่วงโซ่ องค์ประกอบในรายการที่เชื่อมโยงเรียกว่าไฟล์ โหนด . โหนดแรกเรียกว่า ศีรษะ .โหนดสุดท้ายเรียกว่าที่ หาง .
รายการที่เชื่อมโยง - รายการที่เชื่อมโยงใน python - edurekaไลบรารี python มาตรฐานไม่มีรายการที่เชื่อมโยง เราสามารถใช้แนวคิดโครงสร้างข้อมูลลิงค์ลิสต์ได้โดยใช้แนวคิดของโหนด



ตอนนี้เราได้เรียนรู้เกี่ยวกับสิ่งที่เชื่อมโยงแล้ว ดังนั้นเรามาดูการใช้รายการที่เชื่อมโยงกัน

การใช้งานรายการที่เชื่อมโยง

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

class Node (object): # Constructor เพื่อเริ่มต้นตัวแปรคลาส def __init __ (self, data = None, next_node = None): self.data = data self.next_node = next_node #get data def get_data (self): return self.data # รับค่าถัดไป def get_next (self): return self.next_node # set next data def set_next (self, new_next): self.next_node = new_next

การติดตั้งลิงค์ลิสต์ประกอบด้วยฟังก์ชันต่อไปนี้ในรายการที่เชื่อมโยง
หนึ่ง. แทรก : วิธีนี้จะแทรกโหนดใหม่ในรายการที่เชื่อมโยง
2. ขนาด : วิธีนี้จะส่งคืนขนาดของรายการที่เชื่อมโยง
3. ค้นหา : วิธีนี้จะส่งคืนโหนดที่มีข้อมูลมิฉะนั้นจะทำให้เกิดข้อผิดพลาด
สี่. ลบ : วิธีนี้จะลบโหนดที่มีข้อมูลมิฉะนั้นจะทำให้เกิดข้อผิดพลาด



มาดูวิธีการเชื่อมโยงรายการ

วิธีการโคลนวัตถุใน java

วิธีการเริ่มต้นในรายการที่เชื่อมโยง

คลาส LinkedList (object): def __init __ (self, head = None): self.head = head

วิธีการเริ่มต้นใช้สำหรับการเริ่มต้นของไฟล์ ชั้นเรียน ตัวแปรถ้ารายการไม่มีโหนดจะถูกตั้งค่าเป็นไม่มี

แทรก:

def แทรก (ตัวเองข้อมูล): new_node = โหนด (ข้อมูล) new_node.set_next (self.head) self.head = new_node

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

ขนาด

# ส่งคืนจำนวนโหนดทั้งหมดในขนาด def รายการ (ตัวเอง): current = self.head count = 0 ในขณะที่ current: count + = 1 current = current.get_next () return count

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

ค้นหา

พ่อครัวเป็นเครื่องมือในการเรียบเรียง
# ส่งคืนโหนดในรายการที่มี nodeData เกิดข้อผิดพลาดหากโหนดไม่แสดงการค้นหา def (self, nodeData): current = self.head isPresent = False ในขณะที่ current และ isPresent เป็น False: ถ้า current.get_data () == nodeData: isPresent = True else: current = current.get_next () ถ้า current เป็น None: เพิ่ม ValueError ('Data not present in list') ส่งคืนปัจจุบัน

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

ลบ

# ลบโหนดออกจากรายการที่เชื่อมโยงจะส่งกลับข้อผิดพลาดหากโหนดไม่อยู่ def ลบ (ตัวเอง nodeData): current = self.head previous = ไม่มี isPresent = False ในขณะที่ current และ isPresent เป็น False: ถ้า current.get_data () == nodeData: isPresent = True else: previous = current current = current.get_next () ถ้าปัจจุบันเป็น None: เพิ่ม ValueError ('ข้อมูลไม่อยู่ในรายการ') ถ้าก่อนหน้าคือไม่มี: self.head = current.get_next () else: previous.set_next ( current.get_next ())

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

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

วิธีสร้างพจนานุกรมใน java

มันจะชี้ไปที่โหนดถัดไปในบรรทัด เนื่องจากไม่มีโหนดใดที่ชี้ไปยังโหนดที่ไม่ดีที่กำลังถูกลบจึงถูกลบออกจากรายการอย่างมีประสิทธิภาพ!

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

หากคุณพบบทความเกี่ยวกับ“ รายการที่เชื่อมโยงใน Python” นี้เกี่ยวข้องโปรดดูที่ไฟล์ บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก

เราอยู่ที่นี่เพื่อช่วยคุณในทุกขั้นตอนในการเดินทางของคุณและจัดทำหลักสูตรที่ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น . หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นในการเขียนโปรแกรม Python และฝึกอบรมแนวคิด Python ทั้งหลักและขั้นสูงพร้อมกับ ชอบ

หากคุณพบคำถามใด ๆ อย่าลังเลที่จะถามคำถามทั้งหมดของคุณในส่วนความคิดเห็นของ 'รายการที่เชื่อมโยงใน Python' และทีมงานของเรายินดีที่จะตอบ