Pagkakaiba sa pagitan ng Single Linked List at Doubly Linked List

Pagkakaiba sa pagitan ng Single Linked List at Doubly Linked List
Pagkakaiba sa pagitan ng Single Linked List at Doubly Linked List

Video: Pagkakaiba sa pagitan ng Single Linked List at Doubly Linked List

Video: Pagkakaiba sa pagitan ng Single Linked List at Doubly Linked List
Video: Ang Pagkakaiba sa Pagitan ng Normal na Pagkatao ni Cristo at ng Pagkatao ng Tiwaling Sangkatauhan 2024, Hulyo
Anonim

Singly Linked List vs Doubly Linked List

Ang naka-link na listahan ay isang linear na istraktura ng data na ginagamit upang mag-imbak ng koleksyon ng data. Ang isang naka-link na listahan ay naglalaan ng memorya sa mga elemento nito nang hiwalay sa sarili nitong bloke ng memorya at ang kabuuang istraktura ay nakuha sa pamamagitan ng pag-uugnay sa mga elementong ito bilang mga link sa isang chain. Ang isang solong naka-link na listahan ay binubuo ng isang sequence ng mga node at ang bawat node ay may reference sa susunod na node sa sequence. Ang isang dobleng naka-link na listahan ay naglalaman ng isang sequence ng mga node kung saan ang bawat node ay naglalaman ng isang reference sa susunod na node pati na rin sa nakaraang node.

Singly Linked List

Ang bawat elemento sa isang solong naka-link na listahan ay may dalawang field tulad ng ipinapakita sa Figure 1. Ang field ng data ay nagtataglay ng aktwal na data na nakaimbak at ang susunod na field ay nagtataglay ng reference sa susunod na elemento sa chain. Ang unang elemento ng naka-link na listahan ay naka-store bilang pinuno ng naka-link na listahan.

Imahe
Imahe
Imahe
Imahe

Ang Figure 2 ay naglalarawan ng isang solong naka-link na listahan na may tatlong elemento. Ang bawat elemento ay nag-iimbak ng data nito at lahat ng mga elemento maliban sa huling isa ay nag-iimbak ng isang reference sa susunod na elemento. Ang huling elemento ay mayroong null na halaga sa susunod nitong field. Maaaring ma-access ang anumang elemento sa listahan sa pamamagitan ng pagsisimula sa head at pagsunod sa susunod na pointer hanggang sa matugunan mo ang kinakailangang elemento.

Doubly Linked List

Ang bawat elemento sa isang dobleng naka-link na listahan ay may tatlong field tulad ng ipinapakita sa Figure 3. Katulad ng single linked list, hawak ng field ng data ang aktwal na data na nakaimbak at ang susunod na field ang may hawak ng reference sa susunod na elemento sa chain. Bukod pa rito, hawak ng nakaraang field ang reference sa nakaraang elemento sa chain. Ang unang elemento ng naka-link na listahan ay naka-store bilang pinuno ng naka-link na listahan.

Imahe
Imahe
Imahe
Imahe

Ang Figure 4 ay naglalarawan ng dobleng naka-link na listahan na may tatlong elemento. Ang lahat ng mga intermediate na elemento ay nag-iimbak ng mga sanggunian sa una at nakaraang mga elemento. Ang huling elemento sa listahan ay mayroong null value sa susunod nitong field at ang unang elemento sa listahan ay mayroong null value sa dati nitong field. Ang dobleng naka-link na listahan ay maaaring i-traverse pasulong sa pamamagitan ng pagsunod sa susunod na mga sanggunian sa bawat elemento at sa katulad na paraan ay maaaring traversed pabalik gamit ang mga nakaraang sanggunian sa bawat elemento.

Ano ang pagkakaiba ng Singly Linked List at Doubly Linked List?

Ang bawat elemento sa isa-isang naka-link na listahan ay naglalaman ng reference sa susunod na elemento sa listahan, habang ang bawat elemento sa dobleng naka-link na listahan ay naglalaman ng mga sanggunian sa susunod na elemento pati na rin sa nakaraang elemento sa listahan. Ang mga dobleng naka-link na listahan ay nangangailangan ng mas maraming espasyo para sa bawat elemento sa listahan at ang mga elementarya na operasyon tulad ng pagpasok at pagtanggal ay mas kumplikado dahil kailangan nilang harapin ang dalawang sanggunian. Ngunit ang mga listahan ng dobleng link ay nagbibigay-daan sa mas madaling pagmamanipula dahil pinapayagan nito ang pagtawid sa listahan sa pasulong at paatras na direksyon.

Inirerekumendang: