โครงสร้างข้อมูลที่เชื่อมโยงคืออะไร?

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

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

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

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

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

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