Algoritma dan Struktur Data

Slides:



Advertisements
Presentasi serupa
STRUKTUR DATA (7) single linked list circular
Advertisements

LINKED LIST.
Linked List Pembuatan Simpul Awal.
LINK LIST Latifah Rifani.
Algoritma dan Struktur Data Daniel Riano Kaparang.
Linked List Entin Martiana.
SENARAI BERANTAI TUNGGAL
Single Linked List.
Ruli Manurung & Ade Azurat (acknowledgments: Denny, Suryana Setiawan) ‏ 1 Fasilkom UI Ruli Manurung & Ade AzuratFasilkom UI - IKI20100 IKI 20100: Struktur.
Algoritma & Struktur Data
BY YOHANA N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 1 LINKED LIST.
Algoritma & Struktur Data Linked List Evangs Mailoa.
Linked List DELETE 6.3 & 7.3 NESTED LOOP.
LINKED LIST by Yohana N.
Struktur Data List Linear : Linked List (Double Linkedlist)
Linear Data Structures (Linked List). Node Link atau pointer data field.
Algoritma dan Struktur Data
Implementasi ADT: Linked - List
Algoritma dan Struktur Data
Pertemuan ketujuh Struktur data st3telkom.ac.id
Linear List.
Struktur Data List Linear : Linked List (Single Linkedlist)
Pemrograman Berorientasi Obyek Lanjut (IT251)
LINKED LIST.
ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
STACK.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
BAB 5 LINKED LIST Linked list adalah struktur berupa rangkaian elemen saling berkait dimana tiap elemen dihubungkan ke elemen lain melalui pointer. Keterhubungan.
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
Algoritma dan Struktur Data
MATAKULIAH : STRUKTUR DATA
SENARAI BERANTAI TUNGGAL
Struktur Data Linked List
STRUKTUR DATA (2) Single Linked List
STRUKTUR DATA Linked List
Struktur Data Binary Search Tree (BST)
8. Singly Linear Linked List
LINKED LIST by Yohana N.
Single Linked List.
Defri Kurniawan ADT STACK Defri Kurniawan
Informatique Engineering Ahmad Dahlan University May 17, 2004
12. Doubly Linear Linked List
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Algoritma dan Struktur Data
SUMMARY LINKED LIST.
Defri Kurniawan DOUBLE LINKED LIST Defri Kurniawan
Algoritma dan Struktur Data
11. Singly Circular Linked List
Linked List DELETE 6.3 & 7.3 NESTED LOOP.
Linked List Eko Riyanto.
MATAKULIAH : STRUKTUR DATA
Linked List INSERT KIRI 6.3 & 7.3 NESTED LOOP.
Algoritme dan Stuktur Data
Linked List 6.3 & 7.3 NESTED LOOP.
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
LINKED LIST GANDA Linked list ganda (doubly linked list) adalah linked list yang setiap simpul-nya (node) memiliki dua buah pointer, masing-masing berada.
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
IMPLEMENTASI LINKED LISTMENGGUNAKAN ARRAY
LINKED LIST by Yohana N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked-lis...
Linked List INSERT KANAN 6.3 & 7.3 NESTED LOOP.
Defri Kurniawan VARIASI LIST Defri Kurniawan
Linear Doubly INSERT KIRI
Linear Doubly Linked List
LINKED LIST MELINGKAR Linked List melingkar (circular) adalah linked list linier biasa dimana pointer pada node terakhir diarahkan kembali ke node pertama.
Variable Static & Linked List
Algoritma dan Struktur Data
Linked List A group of data which is linked each other.
SINGLE LINKED LIST (SLL)
Transcript presentasi:

Algoritma dan Struktur Data Pertemuan 5 : Linked List Disusun oleh : Silvester Dian Handy Permana, S.T., M.T.I. Fakultas Telematika, Universitas Trilogi

Outline Linked Lists vs. Array Linked Lists dan Iterators Variasi Linked Lists:

Tujuan Memahami struktur data linked-list Memahami kompleksitas dari operasi-operasi pada ADT linked-list antara lain insert, delete, read Dapat mengimplementasikan linked-list

Linked Lists Menyimpan koleksi elemen secara non-contiguously. Elemen dapat terletak pada lokasi memory yang saling berjauhan. Bandingkan dengan array dimana tiap-tiap elemen akan terletak pada lokasi memory yang berurutan.

Mengizinkan operasi penambahan atau penghapusan elemen ditengah-tengah koleksi dengan hanya membutuhkan jumlah perpindahan elemen yang konstan. Bandingkan dengan array. Berapa banyak elemen yang harus dipindahkan bila akan menyisipi elemen ditengah-tengah array?

Iterate the Linked List Items are stored in contiguous array: //step through array a, outputting each item for (int index = 0; index < a.length; index++)‏ System.out.println (a[index]); Items are stored in a linked list non-contiguously : // step through List theList, outputting each item for (ListNode p = theList.first; p != null; p = p.next)‏ System.out.println (p.data);

Implementasi: Linked Lists Sebuah list merupakan rantai dari object bertipe ListNode yang berisikan data dan referensi (pointer) kepada ListNode selanjutnya dalam list. Harus diketahui dimana letak elemen pertama!

Catatan penting Yang disimpan dalam ListNode adalah reference dari object-nya, BUKAN object-nya itu sendiri atau salinan dari object-nya !!! Definisi ListNode public class ListNode { Object element; ListNode next; }

Linked List: Insertion

Langkah-langkah menyisipkan Menyisipkan elemen baru setelah posisi current // Membuat sebuah node tmp = new ListNode( ); // meletakkan nilai x pada field elemen tmp.element = x; // node selanjutnya dari x adalah node b tmp.next = current.next; // node selanjutnya dari a adalah node x current.next = tmp;

Langkah-langkah menyisipkan yang lebih efisien

Linked List: menambahkan elemen diakhir list menambahkan X pada akhir list // last menyatakan node terakhir dalam linked list last.next = new ListNode(); last = last.next; // adjust last last.element = x; // place x in the node last.next = null; // adjust next lebih singkat: last = last.next = new ListNode (x, null);

Linked Lists: menghapus elemen Proses menghapus dilakukan dengan mengabaikan elemen yang hendak dihapus dengan cara melewati pointer (reference) dari elemen tersebut langsung pada elemen selanjutnya. Elemen x dihapus dengan meng-assign field next pada elemen a dengan alamat b.

Linked Lists: menghapus elemen Butuh menyimpan alamat node yang terletak sebelum node yang akan dihapus. (pada gambar node current, berisi elemen a)‏ current.next = current.next.next;

Pertanyaan Selama ini contoh menyisipkan dan menghapus elemen dengan asumsi ada node current yang terletak sebelumnya. Bagaimana menambahkan node pada urutan pertama pada linked list? Bagaimana menghapus elemen pertama pada linked list?

Header Node Menghapus dan menambahkan elemen pertama menjadi kasus khusus. Dapat dihindari dengan menggunakan header node; Tidak berisikan data, digunakan untuk menjamin bahwa selalu ada elemen sebelum elemen pertama yang sebenarnya pada linked list. Elemen pertama diperoleh dengan: current = header.next; Empty list jika: header.next == null; Proses pencarian dan pembacaan mengabaikan header node.