pertama tama saya akan memberitahukan bahwa, semua materi yang saya dapat tidak terbatas dari materi binus itu sendiri. saya belajar mostly dari youtube karena saya lebih paham apabila menonton youtube dan melihat dengan langsung cara penggunaannya dan kali ini saya akan membagikan sedikit coret-coretan yang mungkin berguna untuk kita semua.
jadi rajin-rajinlah berlatih karna terkadang dengan latihan itu sendirilah para mahasiswa akan terbiasa dengan sendirinya
jadi rajin-rajinlah berlatih karna terkadang dengan latihan itu sendirilah para mahasiswa akan terbiasa dengan sendirinya
Linked List II
Learning Outcome
oiya sebelum itu untuk memudahkan dalam mensimulasikan kalian bisa menggunakan situs ini visualgo
oiya sebelum itu untuk memudahkan dalam mensimulasikan kalian bisa menggunakan situs ini visualgo
1.Double Linked List
Double Linked List seperti Linked List biasa namun bedanya kita dapat ke data selanjutnya juga dapat ke data sebelumnya dan dibatasi dengan NULL.
2.Circular Single Linked List
jadi di Circular Single Linked List ini , pada tiap node hanya terdapat node "next". yang berarti kita hanya dapat pindah ke node selanjutnya dan tidak bisa mundur. namun pada Circular linked List pada node terakhir saat kita next maka akan kembali ke node pertama.
3.Circular Double Linked List
Double Linked List , perbedaannya dengan Circular Linked List adalah pada Circular Double LInked List ini kita dapat juga kembali ke node sebelomnya (prev) dan apabila anda berada pada node pertama maka ketika di "prev" kita akan mengakses node terakhir.
note : apabila hanya terdapat 1 node maka node prev dan node next akan menunjuk ke diri sendiri
Keuntungan Menggunakan Circular Linked List (single dan double) adalah kita dapat memulai node (starting point) dari mana saja. yang artinya node mana saja dapat menjadi head. Belajar Circular Linked List juga merupakan sarana yang terbaik dalam meningkatkan Skill Advanced Data Structure.
Kesimpulan : Penggunaan Linked List dapat memudahkan kita karena operasi Insert (memasukan) dan Deletion(penghapusan) yang lebih mudah, juga memori yang lebih efisien serta saat menjalankan aplikasi lebih cepat karena ke efisien an memori tadi. referensi:
pada hari ini tanggal 3 maret 2020
pada mata kuliah data structure baik kelas besar (pak ferdinan dan pak henry) maupun kelas kecil (pak wawan). hari ini saya belajar banyak tentang data structure.
yang saya pelajari hari ini adalah definisi dari data struct
merepresentasikan data struct , biasanya data struct menggunakan array atau linked list
gambar dari geeksforgeeks
dan juga contoh penggunaan pointer seperti
int x;
int *px;
*px = x;
maka *px berisi alamat x;
di kelas kecil data struct saya belajar banyak seperti
penulisan *node.value sama saja seperti node -> value
perbedaan single dan double linked list yaitu pada single link list kita hanya dapat menggunakan node next dan jika menggunakan double linked list kita bisa menggunakan node prev
sumber :
kelas dat struct kecil dan besar
youtube
geeksforgeeks
Halo dulur dulur ku sekalian, hari ini 10 maret 2020
seharusnya hari ini jadi jadwal kelas besar Data Structure di ruang 400 auditorium. namun jadwal hari ini diganti menjadi GSLC dari F2F
topic hari ini adalah Hashing table & Binary tree
Hashing Data Structure
Hashing is an important Data Structure which is designed to use a special function called
the Hash function which is used to map a given value with a particular key for faster access
of elements.
the Hash function which is used to map a given value with a particular key for faster access
of elements.
source : geeksforgeeks
menurut wikipedia : In computing, a hash table (hash map) is a data structure that implements an associative array abstract data type, a structure that can map keys to values. A hash table uses a hash function to compute an index, also called a hash code, into an array of buckets or slots, from which the desired value can be found.
jadi apasih hash table sebenarnya? hash table itu simplenya sebuah tabel yang berfungsi untuk memetakan kunci yang unik (Unique Key) untuk setiap baris (record) menjadi angka (hash).
keunggulan hash table
- Main advantage is synchronization.
- In many situations, hash tables turn out to be more efficient than search trees or any other table lookup structure. For this reason, they are widely used in many kinds of computer softwares, particularly for associative arrays, database indexing, caches and sets.
sumber : geeksforgeeks
contoh hashtable data structure
source : https://youtu.be/MfhjkfocRR0
Binary Tree Data Structure
A tree whose elements have at most 2 children is called a binary tree. Since each element in a binary tree can have only 2 children, we typically name them the left and right child.
source image : geeksforgeeks
Binary Tree node berisi beberapa bagian
- Data
- Pointer to left child
- Pointer to right child
Binary tree adalah tree yang hanya dapat memiliki dua percabangan saja.
Advantages of trees
Trees are so useful and frequently used, because they have some very serious advantages:
- Trees reflect structural relationships in the data
- Trees are used to represent hierarchies
- Trees provide an efficient insertion and searching
- Trees are very flexible data, allowing to move subtrees around with minumum effort
source : geeksforgeeks
source : https://youtu.be/H5JubkIy_p8
------------------------------------------------------------------------------------------------------------
jadi di pertemuan ke 4 ini kita akan ngebahas Binary Search Tree
apa sih Binary Search Tree?
dikutip dari geeksforgeeks :
Binary Search Tree is a node-based binary tree data structure which has the following properties:
- The left subtree of a node contains only nodes with keys lesser than the node’s key.
- The right subtree of a node contains only nodes with keys greater than the node’s key.
- The left and right subtree each must also be a binary search tree.
jadi intinya gimana?
Binary Search Tree gampangnya buat bedain adalah
1. Akarnya selalu berjumlah 2
2. Untuk subtree , pada subtree sebelah kiri nilai value selalu lebih kecil daripada induknya
3. subtree sebelah kanan memiliki nilai value lebih besar daripada induknya
Cara kerja (sumber geeksforgeeks) :
1. Start .from root. (Mulailah dari akar)
2. Compare the inserting element with root, if less than root, then recurse for left, else recurse for right. (jika nilai value lebih kecil maka masuk ke sebelah kiri, dan jika nilainya lebih besar maka masuk kesebelah kanan)
3. After reaching end,just insert that node at left(if less than current) else right.
Time Complexity: The worst case time complexity of search and insert operations is O(h) where h is height of Binary Search Tree. In worst case, we may have to travel from root to the deepest leaf node. The height of a skewed tree may become n and the time complexity of search and insert operation may become O(n).
ya pada bagian ini sebenarnya agak susah untuk dijelaskan, jadi telan aja dulu kita lanjut ke bagian selanjutnya.
Operasi Delete (Deletion) pada Binary Search Tree
gambar diambil dari geeksforgeeks.
sekian dulu untuk ringkasan selama mid semester ini, jangan lupa senyum hari ini dulur dulur semuanya :)
Tidak ada komentar:
Posting Komentar