Langsung ke konten utama

2 - LINKED LIST IMPLEMENTATION 1 - 2101714345 - Vallentina Christy

Vallentina Christy / 2101714345 / CA01


LINKED LIST IMPLEMENTATION 1

Image result for linked list implementation wallpaper

LINKED LIST

Linked list merupakan koleksi linear dari data, yang disebut node, dimana setiap node akan menunjuk pada node lain melalui sebuah pointer.
Linked list juga dapat didefinisikan sebagai kumpulan node yang mempresetasikan sebuah sequence.

Related image


SINGLE LINKED LIST

Single linked list merupakan linked list yang menggunakan sebuah pointer untuk menyimpan banyak data.
Pointer hanya dapat bergerak ke satu arah saja.

Single Linked List : Insert

Front

Penambahan data di depan membutuhkan penambahan node baru yang akan dikaitkan di node paling depan, tetapi pada saat pertama kali, saat data masih kosong, penambahan data dilakukan pada head nya.
Untuk menghubungkan node yang terakhir dengan node yang terdepan dibutuhkan pointer baru.

Back

Penambahan data di belakang tentu saja dilakukan di belakang.
Pada saat pertama kali, data langsung ditunjuk pada head nya.
Kita membutuhkan pointer baru agar dapat mengetahui data yang paling belakang yang nantinya akan dikaitkan dengan data baru.
Perulangan juga dibutuhkan untuk mengetahui data yang paling belakang.

Single Linked List : Delete

Untuk menghapus sebuah value, kita harus mencari lokasi node yang menyimpan value yang ingin kita hapus.
Setelah menemukan node nya, kita dapat menyingkirkan node tersebut.
Setelah menyingkirkan node, kita dapat menyambungkannya kembali ke sisa linked list.


Ilustrasi penghapusan node terdepan.

Ilustrasi penghapusan node selain yang terdepan.


POLYNOMIAL REPRESENTATION

Setiap istilah individu dalam polinom terdiri dari dua bagian, coefficient dan power.
Setiap istilah polinomial dapat direpresentasikan sebagai node dari linked list.
Perhatikan gambar di bawah ini!
Image result for polynomial representation
Pada gambar di atas:
4, 6, 10, dan 6 adalah coefficient dari persyaratan yang masing-masing memiliki 3, 2, 1, dan 0 sebagai power mereka masing-masing.


CIRCULAR SINGLE LINKED LIST

Image result for circular singly linked list
Circular single linked list merupakan linked list dimana semua node menyambung satu dengan yang lainnya untuk membuat sebuah circuit.
Di dalam circular, node terakhir berisi pointer ke node pertama.
Tidak terdapat storing of NULL value pada list.


DOUBLY LINKED LIST

Image result
Doubly linked list atau list dua arah adalah linked list data structure dengan dua link.
Link yang satu berisi referensi ke data berikutnya dan link yang lainnya berisi referensi ke data sebelumnya.

Doubly Linked List : Insert

Sama halnya seperti single linked list, pertama kita harus allocate node baru dan assign value kedalam node tersebut.
setelah assign value, kemudian kita menyambungkan node dengan linked list yang sudah ada.

Doubly Linked List : Delete

Terdapat empat kondisi yang harus kita perhatikan dalam melakukan penghapusan:
- Node yang akan dihapus merupakan node satu-satunya dalam linked list
- Node yang akan dihapus merupakan head
- Node yang akan dihapus merupakan tail
- Node yang akan dihapus bukan merupakan head maupun tail


CIRCULAR DOUBLY LINKED LIST

Circular Doubly Linked List memiliki properti dari double linked list dan circular linked list dimana dua elemen berurutan dihubungkan oleh pointer sebelumnya dan pointer berikutnya dan node terakhir mengarah ke node pertama dengan pointer berikutnya dan juga node pertama mengarah ke node terakhir dengan pointer sebelumnya.


HEADER LINKED LIST

Image result for header linked list

Sebuah header linked list adalah tipe khusus linked list yang berisi node header di awal list, jadi dalam sebuah header linked list, START (l) tidak akan mengarah ke node pertama dari list tapi START (l) akan berisi alamat header node.

Komentar

Postingan populer dari blog ini

3 - LINKED LIST IMPLEMENTATION 2 - 2101714345 - Vallentina Christy

Vallentina Christy / 2101714345 / CA01 LINKED LIST IMPLEMENTATION 2 STACK Stack merupakan salah satu tipe data structure yang cukup penting dimana stack itu sendiri menyimpan elemen-elemen seraca berurutan. Stack juga merupakan linear data structure yang dapat diimplementasikan dengan menggunakan array maupun linked list. Elemen dalam stack ditambah maupun dikurangi di hanya di satu edge, edge ini disebut top. Stack berlaku First In Last Out (FILO) atau Last In First Out (LIFO). Stack memiliki 2 variabel, TOP (digunakan untuk menyimpan alamat dari elemen paling atas) dan MAX (digunakan untuk menyimpan maximum number dari elemen yang dapat ditampung oleh stack). Di dalam linked stack, setiap node memiliki dua bagian, yang pertama menyimpan data dan yang kedua menyimpan alamat dari node berikutnya. Pointer START pada linked list digunakan sebagai TOP. Semua insertion dan deletion diselesaikan di node oleh TOP. Jika TOP = NULL maka itu berarti bahwa stac

5 - TREE AND BINARY TREE - 2101714345 - Vallentina Christy

Vallentina Christy / 2101714345 / CA01 TREE AND BINARY TREE BINARY TREE CONCEPT Gambar diatas merupakan contoh binary tree dengan 8 nodes, dimana node yang berisi nomer 1 merupakan root dan node yang berisi nomer 6, 7, 8, dan 3 merupakan leaf atau leaves. TYPE OF BINARY TREE PERFECT Binary Tree  merupakan binary tree dimana di setiap level memiliki depth / kedalaman / lebar yang sama. COMPLETE Binary Tree  merupakan binary tree dimana setiap level terisi penuh (kecuali mungkin yang terakhir) dan semua nodes akan mengarah ke bagian kiri tree. Perfect binary tree juga merupakan complete binary tree. SKEWED   Binary Tree  merupakan binary tree dimana setiap node memiliki paling banyak satu child. BALANCED Binary Tree  merupakan binary tree dimana setiap leaf memiliki jarak yang sama terhadap root. PROPERTY OF BINARY TREE Maximum number dari nodes pada level  k  dari sebuah binary tree dapat dituliskan sebagai 2 pangkat  k .