Page 1 of 1

ความแตกต่างระหว่าง Link-List กับ Array

Posted: 07/05/2018 3:29 pm
by rangsan
ความแตกต่างระหว่าง Link-List กับ Array

ภาพตัวอย่างโครงสร้างระหว่าง Link-List กับ Array
EX_Linklist.png
EX_Linklist.png (17.39 KiB) Viewed 2157 times
Link-List นั้นจะมีการเชื่อมโยงแต่ละสมาชิกของ Link-List โดยใช้ Pointer เป็นตัวเชื่อมโยงให้อยู่รวมกันเป็นสายของข้อมูลดังนั้นการจัดเก็บข้อมูลของ Link-List จะมีประสิทธิภาพมากกว่าโครงสร้างแบบอื่น ๆ เพราะเราสามารถเพิ่มหรือตัดทอนส่วนต่าง ที่มีค่าตามต้องการจากนั้นก็ทำการย้าย Pointer ของสมาชิกที่ต้องการให้สมาชิกให้สมาชิกนี้ต่อท้ายไปที่สมาชิกใหม่นี้และให้ Pointer ของสมาชิกใหม่นี้ชี้ไปที่สมาชิกตัวเดิมที่ถัดจากสมาชิกใหม่นี้ก็เป็นอันเสร็จในส่วนของการตัดทอน
แต่ถ้าเกิดเป็นในส่วนของ Array เราจะต้องทำการย้ายข้อมูลที่มีอยู่ก่อนหน้าหรืออยู่หลังสมาชิกใหม่ทุกตัวออกไปก่อนเพื่อสร้างที่ว่างให้กับสมาชิกใหม่ และความแตกต่างอีกอย่างระหว่าง Link-List กับ Array ก็คือ Link-List จะใช้พื้นที่ในการเก็บข้อมูลได้อย่างมีประสิทธิภาพมากกว่าของ Arrayg เช่น ในกรณีที่เรามีจำนวนข้อมูลที่ไม่แน่นอนเนื่องจากเราสามารถสร้างชิกใหม่ขึ้นมาเพื่อทำการเพิ่มการเก็บข้อมูลได้ไม่เหมือนกับ Array ที่ต้องกำหนดจำนวนสมาชิกที่แน่นอนที่ต้องการใช้และบ่อยครั้งที่เราใช้เนื้อที่ ที่ทำการจองเอาไว้ไม่หมดมันทำให้สิ้นเปลืองเนื้อที่ในการเก็บข้อมูลไปโดยใช่เหตุ


ภาพตัวอย่างการตัดทอนข้อมูลสมาชิกใน Link-List
EX_Linklist.png
EX_Linklist.png (17.39 KiB) Viewed 2157 times
อ้างอิง : cs.science.cmu.ac.th