Posts

Heap and Tries

Image
Nama : Dea Claresta Nim : 2301863736 Heap Heap adalah spesial tree, yaitu complete binary tree. Heap ada 2 tipe, max heap, dan min heap. Min heap->node parentnya lebih kecil dr anaknya. Max heap->parentnya lebih besar dari anaknya. Min heap-> angka paling kecil ada di root. angka paling besarnya ada di salah satu leaf. heap bisa menggunakan linked list, tp paling mudah pakai array, dimana arraynya dimulai dari 1, array ke 0 tidak dipakai agar lebih mudah. Hubungan antar parent dengan anak kanan dan kiri dalam array sangat mudah untuk di cari, dengan x adalah array dari node itu sendiri •Parent(x)  = x / 2 •Left-child(x)  = 2 * x •Right-child(x)  = 2 * x + 1 misalnya, node 15, x= 2, parentnya 1, anak kirinya 4, dan anak kanannya 5. Aplikasi heap yaitu dalam  Priority Queue Selection Algorithms (finding min/max element, median, kth-largest element, etc). Dijkstra’s Algorithm (finding shortest path in graph) Prim Algorithm (f...

AVL Tree

Image
Nama: Dea Claresta Nim: 2301863736 AVL Tree merupalan self balancing binary search tree. BST digunakan dengan tujuan dari lebih cepatnya suatu node ditemukan, namun BST memiliki worst case, dimana proses penginputan data yg berurut akan membuat penempatan Node yang sebaris dan tidak bercabang,sehingga proses pencarian datanya sama saja dengan linked list  yaitu dengan membandingkan setiap node dari awal sampai ketemu. Oleh sebab itu, digunakan lah metode AVL, yaitu balancingnya BST, sehingga setiap node hanya akan memiliki balence faktor maksimal 1 yang didapat dari pengurangan height kedua anaknya. Dimana setiap leaf(node yang tidak memiliki anak ) akan memiliki height sebesar satu, dan node-node keatasnya akan memiliki height yang semakin besar. Jika setelah penginputan terbentuk balence factor yang lebih besar dari 1, maka akan dilakukan rotasi. Untuk rotasi ini sendiri, ada 4 macam( LL, RR, LR, RL). dimana rotasi ini dilihat dari 2 langkah terjadi imbalace menuju sumber t...
Image
Nama: Dea Claresta Nim:2301863736 RINGKASAN DATA STRUCTURE Pointer pointer digunakan untuk mengirimkan informasi diantar function. pointer digunakan untuk mengirimkan array, string sebagai fungsi. pointer biasanya digunakan untuk complex data structures, seperti linked list, trees, linked stacks, linked queues dan graphs. Array array adalah kumpulan data yg sama dalam satu elemen. dimana data-data ini memiliki type data yang sama. Structure structures merupakan tempat penyimpanan. structure dapat meyimpan data yang saling berhubungan walaupun memiliki data  types yang berbeda-beda.structure memiliki keunggulan jika dibandingkan dengan array, dimana structure bisa menyimpan data sesuai dengan data yang ditambahkan. tidak seperti array yang jika ingin menyimpan data harus terlebih dahulu Linked list linked list adalah kumpulan linear dari elemen data dimana setiap elemen ini disebut nodes. linked list dibagi menjadi dua yaitu single linked list dan double linked li...

Data struct Binary Search Tree

Image
Nama: Dea Claresta Nim: 2301863736 In computer science,  binary search trees  ( BST ), sometimes called  ordered  or  sorted binary trees , are a particular type of container: a data structure that stores "items" (such as numbers, names etc.) in memory. They allow fast lookup, addition and removal of items, and can be used to implement either dynamic sets of items, or lookup tables that allow finding an item by its  key  (e.g., finding the phone number of a person by name). Binary search trees keep their keys in sorted order, so that lookup and other operations can use the principle of  binary search : when looking for a key in a tree (or a place to insert a new key), they traverse the  tree from root to leaf, making comparisons to keys stored in the nodes of the tree and deciding, on the basis of the comparison, to continue searching in the left or right subtrees. On average, this means that...

Hashing table & Binary Tree.

Image
Nama :Dea Claresta Nim:23018637376 Hashing is a technique used for storing and retrieving keys in a rapid manner hash table is a table(array) where we store the original string. A  hash function  is any  function  that can be used to map  data  of arbitrary size to fixed-size values. The values returned by a hash function are called  hash values ,  hash codes ,  digests , or simply  hashes . The values are used to index a fixed-size table called a  hash table . Use of a hash function to index a hash table is called  hashing  or  scatter storage addressing . The two heuristic methods are   hashing by division  and  hashing by multiplication  which are as follows: The mod method: In this method for creating hash functions, we map a key into one of the slots of table by taking the remainder of key divided by table_size. That is, the hash function is h(key) = key mod table_size i.e. key ...

RANGKUMAN LINKED LIST DAN DOUBLE LINKED LIST

Image
NAMA: DEA CLARESTA NIM: 2301863736 TUGAS 2(RANGKUMAN KELAS) Selamat malam pak, hari ini dari kelas besar data structure, saya mempelajari pengkodingan linked list dan double linked list. Dimana linked list ada 3 bagian, yaitu head, current, dan tail, dimana setelah tail selalu =NULL. Posisi head selalu berada di depan rantai , dan tail ada di paling belakang rantai. Current bisa berpindah pindah ke posisi manapun. Lalu dalam double linked list, saya belajar jika setiap rangkai tidak hanya bisa berjalan ke depan, tapi dengan double linked list, rantai mampu berjalan kedepan dan kebelakang secara sekaligus, dalam double linked list, head->prev= NULL, dan tail>next=NULL Untuk membuat linked list , kita harus membuat struct   terlebih dahulu, dikarenakan kita akan menggunakan pointer dari variabel-variabel dalam struct. Lalu saya mempelajari push depan, dimana saya bisa menyelipkan rantai di paling depan rantai Lalu saya mempelajari push belakang, dimana s...