Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Linked list. Array memiliki kelemahan diantaranya : Pada unsorted array, searching lambat Pada sorted array, insert baru lambat Pada kedua jenis array,

Presentasi serupa


Presentasi berjudul: "Linked list. Array memiliki kelemahan diantaranya : Pada unsorted array, searching lambat Pada sorted array, insert baru lambat Pada kedua jenis array,"— Transcript presentasi:

1 Linked list

2 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 Kumpulan elemen Linier Node/ simpul Isi node: Info Pointer/ alamat simpul berikutnya Dinamis

4 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

5

6 Data 1 Next node Data 1Data 2 Next node Data 2 Data 3 Next node Data 3 Data 4 NULL Data 4

7

8

9

10 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

12

13 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

15

16 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

18

19

20 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 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

23 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

25

26

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 Singly linked list Doubly linked list Singly circular linked list Doubly circular linked list

29

30

31

32

33

34

35 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

37

38 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

40


Download ppt "Linked list. Array memiliki kelemahan diantaranya : Pada unsorted array, searching lambat Pada sorted array, insert baru lambat Pada kedua jenis array,"

Presentasi serupa


Iklan oleh Google