Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehAriq Sleepers Telah diubah "9 tahun yang lalu
1
Pertemuan 10-12 Linked list jual [Valdo] Lunatik Chubby Stylus
2
Review array Array memiliki kelemahan diantaranya :
Pada unsorted array, searching lambat Pada sorted array, insert baru lambat Pada kedua jenis array, delete sangat lambat Ukuran array tidak dapat diganti setelah inisalisasi pertama
3
Link list Kumpulan elemen Linier Node/ simpul Isi node: Dinamis Info
Pointer/ alamat simpul berikutnya Dinamis
4
Node / simpul Node / simpul / link berisi :
Info / data Alamat node selanjutnya Sebuah node dalam java dapat diimplementasikan sebagai sebuah class yang berisi Beberapa variable untuk data Satu variable link yang menunjukkan link selanjutnya (self reference) Dalam hal ini objek link tidak berisi data, melainkan hanyalah reference ke link yang lain
6
Ilustrasi Singly Linked List
Data 1 Next node Data 2 Data 3 Data 4 NULL
8
Class linklist
9
Class linklist
10
Method insertFirst Insert link pada awal list
Posisi yang paling mudah untuk insert link, karena pointer first mengarah ke first link Algoritma Set next pada link baru ke old link first Ganti first mengarah ke link baru
11
Method insertFirst
13
Method deleteFirst Kebalikan dari insertFirst Algoritma
Buat link temp dan arahkan ke first Rerouting first ke second link (second link dapat ditemukan dengan melihat ke next dari first) Kembalikan nilai temp atau hapus jika tidak dibutuhkan
14
Method deleteFirst
16
Method displayList Menampilkan seluruh isi node/simpul/link dari linked list Algoritma Buat link current dan arahkan ke first Ganti current ke link selanjutnya Gunakan fungsi displayLink dari class link Lakukan hingga current = null (akhir list)
17
Method displayList
19
Main method
20
output List (first-->last): {88, 8.99} {66, 6.99} {44, 4.99} {22,
2.99} Deleted {88, 8.99} Deleted {66, 6.99} Deleted {44, 4.99} Deleted {22, 2.99} List (first-->last):
21
Method find Cara kerjanya seperti method displayList() Algoritma
Create link current dan arahkan ke first Ganti current ke link selanjutnya (dengan mengganti current = current.next) Pada setiap link, cek apakah isi data adalah key yang dicari Jika hingga akhir list tanpa ketemu key yang dicari, return null
22
Method find
23
Method delete Seperti method find
Bedanya link tidak Cuma mengarah ke link selanjutnya, tetapi juga perlu menyimpan link sebelumnya (previous) Karena jika dilakukan delete, maka perlu konek link sebelumnya ke next dari link yang didelete
24
Method delete
26
Main method 2
27
List (first-->last): {88, 8.99} {66, 6.99} {44, 4.99} {22,
2.99} Found link with key 44 Deleted link with key 66 List (first-->last): {88, 8.99} {44, 4.99} {22, 2.99}
28
Macam-macam List Singly linked list Doubly linked list
Singly circular linked list Doubly circular linked list
29
Single vs doubly
31
Insert at beginning
32
Insert at arbitrary position
33
Delete a node
34
Circular Linked List
35
Stack – Linked List Jika sebuah linked list SELALU menambahkan node baru dan menghapus node lama dari salah SATU ujungnya saja (posisi Head ataukah Tail) STACK. TOP = head untuk single linked list. TOP = tail untuk double linked list. HOW?
36
Push Operation
37
Pop Operation
38
Queue – Linked List Jika sebuah linked list SELALU menambahkan node baru di ujung Tail dan SELALU menghapus node lama dari ujung Head QUEUE. Front = head. Rear = tail. Single atau Double linked list?
39
Enqueue Operation
40
Dequeue Operation
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.