Double Linked List.

Slides:



Advertisements
Presentasi serupa
Senarai Berantai Dua Arah
Advertisements

Senarai Berantai Adalah salah satu struktur data dinamis yang paling sederhana (linked list) atau juga disebut senarai satu arah ( one way list).
LINK LIST Latifah Rifani.
Linked List DELETE 6.3 & 7.3 NESTED LOOP.
LINKED LIST by Yohana N.
Linear Data Structures (Linked List). Node Link atau pointer data field.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
DIKTAT struktur data Oleh: Tim Struktur Data IF
Struktur Data Linked List
STRUKTUR DATA Linked List
Program Studi Teknik Informatika
Tim struktur data IF UNIKOM
STRUKTUR DATA STACK.
STRUKTUR DATA STACK.
Dynamic Array and Linked List
Program Studi Teknik Informatika
Struktur data Oleh: Tim Struktur Data IF ARRAY STATIS.
SINGLE Linked List (lanjutan)
Tim struktur data IF UNIKOM
Program Studi Teknik Informatika
Program Studi Teknik Informatika
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Tim struktur data IF UNIKOM
LINKED LIST Circular Linked List.
Program Studi Teknik Informatika
Algoritma dan Struktur Data
Linked List BEBERAPA CONTOH SOAL 6.3 & 7.3 NESTED LOOP.
Linked List.
Pointer & Linked List.
STRUKTUR DATA Array Statis.
STRUKTUR DATA Array Statis.
LINKED LIST Oleh: Tim Algoritma & Pemrograman IF Double Linked List.
STRUKTUR DATA STACK.
Linked List INSERT KIRI 6.3 & 7.3 NESTED LOOP.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Program Studi Teknik Informatika
STRUKTUR DATA STACK.
Tim struktur data IF UNIKOM
Doubel Linked List.
Double Linked List.
LINKED LIST Oleh: Tim Algoritma & Pemrograman IF Circular Linked List.
STRUKTUR DATA Array Statis.
STRUKTUR DATA STACK.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
SINGLE Linked List (lanjutan)
STRUKTUR DATA Array Statis.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Tim struktur data IF UNIKOM
Doubel Linked List.
SENARAI BERANTAI (LINKED LIST)
SINGLE Linked List (lanjutan)
ARRAY STATIS Sri Nurhayati, MT.
Tim struktur data IF UNIKOM
LINKED LIST GANDA Linked list ganda (doubly linked list) adalah linked list yang setiap simpul-nya (node) memiliki dua buah pointer, masing-masing berada.
SINGLE Linked List (lanjutan)
SINGLE Linked List (lanjutan)
Tim struktur data IF UNIKOM
STRUKTUR DATA STACK.
STRUKTUR DATA Sri Nurhayati, MT.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
ARRAY STATIS Sri Nurhayati, MT.
LINKED LIST MELINGKAR Linked List melingkar (circular) adalah linked list linier biasa dimana pointer pada node terakhir diarahkan kembali ke node pertama.
DIKTAT struktur data Oleh: Tim Struktur Data IF
9 ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA (LAB) OLEH :
SINGLE Linked List (lanjutan)
Tim struktur data IF UNIKOM
LINKED LIST Oleh: Tim Algoritma & Pemrograman IF Double Linked List.
DIKTAT struktur data Oleh: Tim Struktur Data IF
Linked List DELETE TENGAH 6.3 & 7.3 NESTED LOOP.
Transcript presentasi:

Double Linked List

Double Linked List Linked list dengan simpul berisi satu link / pointer yang mengacu ke simpul berikutnya dan satu link/pointer yang mengacu ke simpul sebelumnya. Simpul Double Linked List : Medan Sambungan Kiri (Prev) Medan Sambungan Kanan (Next) Medan Data (Info)

Deklarasi Double Linked List Kamus: Type nama_pointer = ↑Simpul Simpul = Record medan_data : tipedata, prev, next : nama_pointer EndRecord nama_var_pointer : nama_pointer  

Contoh Deklarasi Double Linked List Kamus: Type Point = ↑Data Data = Record info : char , next, prev : Point EndRecord awal, akhir : Point

Operasi – operasi Double Linked List Penciptaan (create) Penyisipan Penghapusan Traversal Pencarian (Searching) Pengurutan (Sorting) Penghancuran (destroy) Sama seperti pada Single Linked List

Penciptaan Pointer awal dan akhir diberi harga nil. awal akhir

Penyisipan di Depan awal akhir alloc(baru) baru↑.info  1 baru - List kosong (Awal = Nil) awal akhir alloc(baru) baru↑.info  1 baru 1 baru↑.next  nil baru↑.prev  nil awal  baru akhir  baru

Penyisipan di Depan (lanjutan) - List tidak kosong (Awal ≠ Nil) awal 2 3 akhir alloc(baru) baru baru↑.info  1 1 baru↑.prev  nil

Penyisipan di Depan (lanjutan) awal akhir 2 3 baru↑.next  awal awal↑.prev  baru baru 1 awal baru

Penyisipan di Depan (lanjutan) Jadi penyisipan di depan pada list tidak kosong: baru awal akhir 1 2 3

Penyisipan di Belakang - List kosong (Awal = Nil) {sama seperti penyisipan di depan} - List tidak kosong (Awal ≠ Nil) awal 2 3 akhir alloc(baru) baru baru↑.info  1 1 baru↑.next  nil

Penyisipan di Belakang (lanjutan) awal akhir 2 3 baru↑.prev  akhir akhir↑.next  baru 1 baru akhir baru

Penyisipan di Belakang (lanjutan) Jadi penyisipan di belakang pada list tidak kosong : awal 2 3 akhir 1 awal akhir 2 3 1 baru

Penyisipan di Tengah Mula-mula keadaan list sebagai berikut: Misalkan akan menyisipkan angka 4 sebelum angka 9

Penyisipan di Tengah (lanjutan) baru↑.prev  bantu↑.prev baru↑.next  bantu baru 4 alloc(baru) baru↑.info  4

Penyisipan di Tengah (lanjutan) bantu↑.prev↑.next  baru bantu↑.prev  baru baru 4

Penyisipan di Tengah (lanjutan) Jadi penyisipan di tengah pada list yang tidak kosong: baru 4

Penghapusan di depan - Satu Simpul menjadi phapus  awal awal  nil elemen  phapus↑.info akhir  nil dealloc(phapus)

Penghapusan di depan (lanjutan) - Lebih dari Satu Simpul elemen phapus phapus  awal elemen  phapus↑.info

Penghapusan di depan (lanjutan) Awal awal  awal↑.next atau awal  phapus↑.next

Penghapusan di depan (lanjutan) dealloc(phapus) awal↑.prev  nil

Penghapusan di depan (lanjutan) Jadi penghapusan di depan pada list yang memiliki lebih dari satu simpul: Awal phapus 2

Penghapusan di Belakang - Lebih dari Satu Simpul phapus phapus  akhir elemen elemen  phapus↑.info

Penghapusan di Belakang (lanjutan) Awal Akhir akhir  akhir↑.prev atau akhir  phapus↑.prev

Penghapusan di Belakang (lanjutan) akhir↑.next  nil dealloc(phapus)

Penghapusan di Belakang (lanjutan) Jadi penghapusan di belakang pada list yang memiliki lebih dari satu simpul: phapus Awal Akhir 9

Penghapusan di Tengah Sama seperti penghapusan di tengah pada Single Linked List.

Tugas Buat algoritma dan program untuk Double Linked List