Tuesday, February 25, 2020

Linked List

Linked List merupakan data struktur yang isinya ialah urutan data yang saling berhubungan. Cara 

Linked List kerja ialah secara Urutan/Sequence.

Linked List dapat digunakan untuk masalah sehari-hari.
Kekurangan menggunakan Linked List ialah:
· Mereka menggunakan lebih banyak memori daripada array karena penyimpanan yang digunakan oleh pointer mereka.
· Node dalam daftar tertaut harus dibaca secara berurutan karena daftar tertaut secara inheren merupakan akses berurutan.
· Node disimpan secara tidak bersamaan, sangat meningkatkan periode waktu yang diperlukan untuk mengakses elemet individual dalam daftar, terutama dengan cache CPU.
· Kesulitan muncul dalam daftar tertaut ketita datang untuk membalikkan traverse. Misalnya, daftar yang ditautkan secara tunggal sulit untuk dinavigasi ke belakang dan sementara daftar yang ditautkan agak lebih mudah dibaca, memori dikonsumsi dalam mengalokasikan ruang untuk penunjuk-belakang.

Setelah mengenal Linked List, ada juga beberapa kategori Linked List yaitu: Single Linked List, Double Linked List,  Circular Linked List, Circular Double Linked List.

Single Linked List

Single Linked List hanya memiliki satu hubungan yaitu antara data sebelumnya atau di sesudahnya, tidak kedua-duanya. Dengan kata lain, dalam setiap data memiliki Satu Pointer.


Contoh codingan untuk membuat urutan integer:

Struc tnode {
int value;
Struct tnode *next;
};

Struct tnode *head = 0;

Single Linked List: Insert

Codingan:

struct tnode *node =
(struct tnode*) malloc (sizeof(struct tnode));
node->value = x;
node->next = head;
head = node;

Single Linked List: Delete

Codingan:

struct tnode *curr = head;
ff ( head->value == x ) {
head = head->next;
free(curr);
}

Double Linked List

Double Linked List sama seperti Single Linked List tetapi, Double Linked List memiliki dua hubungan yaitu data sesudah dan sebelumnya secara bersamaan.
Dengan kata lain satu, dalam setiap data memiliki Dua Pointer.



Circular Single/Double Linked List

Didalam Circular Single Linked List, data terakhir(tail) berisi pointer ke data pertama(head).Sedangkan Circular Double Linked List, sama dengan Circular Single Linked List tetapi bedanya, Circular Double Linked List. Data pertama(head) berisi pointer ke data terakhir(tail).


 

Contoh Circular Single Linked List




                                               Contoh Circular Double Linked List 


Reference:
- BinusMaya

No comments:

Post a Comment