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

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: ความแตกต่างระหว่าง Link-List กับ Array

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

by rangsan » 07/05/2018 3:29 pm

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

ภาพตัวอย่างโครงสร้างระหว่าง Link-List กับ Array
EX_Linklist.png
EX_Linklist.png (17.39 KiB) Viewed 2282 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 2282 times
อ้างอิง : cs.science.cmu.ac.th

Top