2301877716
SUMMARY
• Double linked list adalah struktur data di mana setiap node nya menyimpan link ke node berikutnya (seperti singly linked list) dan ke node sebelumnya juga dengan menggunakan pointer tambahan yang disebut previous pointer.
Pengoperasiannya sama dengan operasi singly linked list: Insertion, Deletion, Traversal (kedua arah).
Keuntungan Doubly linked list dari pada singly linked list adalah :
1.Pointer tambahan (previous pointer) membuat doubly linked list dapat ditraversal di kedua arah.
2.Insert node pada posisi apa pun (sebelum dan sesudah node) dalam list.
3.Memberi pointer ke node yang akan didelete, penghapusan dalam doubly linked list lebih efisien daripada singly linked list.
4.Berfungsi sebagai antrian dan stack pada saat yang bersamaan.
Namun, ia memiliki beberapa kelemahan juga:
1.Setiap node membutuhkan ruang tambahan untuk previous pointer tambahan.
2.Previous pointer perlu dipertahankan selama pengoperasian.
• Doubly Circular Linked List adalah linked list yang mana menggunakan pointer,
setiap node nya mempunyai 3 field, 1 field pointer yang menunjuk pointer berikutnya , 1 field menunjuk pointer sebelumnya (previous pointer), dan sebuah field yang berisi data untuk node tersebut.
Doubly Circular Linked List pointer next dan previous nya menunjuk ke dirinya sendiri secara circular.
Tiap node pada linked list mempunyai field yang berisi data dan pointer ke node berikutnya & ke node sebelumnya. Untuk pembentukan node baru, mulanya pointer next dan prev akan menunjuk ke dirinya sendiri. Jika sudah lebih dari satu node, maka pointer previous akan menunjuk ke node sebelumnya, dan pointer next akan menunjuk ke node sesudahnya. Doubly-linked list dapat diakses dengan dua arah, ke arah depan dan ke belakang.
Butuh dua variabel pointer yaitu head dan tail. Head adalah node pertama, sedangkan tail adalah node terakhir atau paling belakang.
• Singly Circular Linked List adalah single linked list yang pointer selanjutnya menunjuk pada dirinya sendiri. Jika terdiri dari banyak node, pointer selanjutnya dari node paling belakang akan menunjuk pada node paling depan maka dari itu dinamakan circular karena berputar.
Linked List
- PUSH
1. Push Head
Bisa juga disebut dengan push depan ,
berfungsi untuk menambah data ke depan data yang paling depan.
push head: 4, 3, 7, 10 maka hasilnya adalah: 10 ->7 ->3 -> 4 -> NULL

2. Push Tail
Bisa juga disebut push belakang,
berfungsi untuk menambakan data di ekor data yang paling terakhir.
pushBelakang: 4, 3, 7, 10 maka hasilnya adalah: 4 ->3 ->7 ->10 -> NULL

3. Push Middle
Bisa juga disebut push tengah,
berfungsi untuk memasukkan data sesuai dengan index yang diminta

- Binary Tree
Berbeda dari Array, Linked List, Stack dan Queue, yang merupakan struktur data linier, Tree adalah struktur data hierarkis.
Binary Tree adalah struktur data Tree di mana setiap node memiliki paling banyak dua anak, yang disebut sebagai anak kiri dan anak kanan. Ini diimplementasikan terutama menggunakan link.
- Hashing Table
Hashing adalah Struktur Data penting yang dirancang untuk menggunakan fungsi khusus yang disebut Hash function yang digunakan untuk memetakan value yang diberikan dengan kunci tertentu untuk akses elemen yang lebih cepat.
Efisiensi pemetaan tergantung pada efisiensi hash function yang digunakan.

source = geeksforgeeks,google images
