Skip to main content

Posts

Showing posts from March, 2020

Binary Search Tree

Binary Search Tree BST merupakan suatu metode menganalisa node yang menggunkan konsep seperti pohon yaitu memiliki ranting. Ranting tersebut dibagi menjadi 2 macam, yaitu ranting sebelah kiri dan kanan, dimana ranting sebelah kiri merupakan kumpulan node yang lebih kecil dari induknya yaitu yang bagian tengah dan terdapat juga ranting yang sebelah kanan dimana akan berisi kumpulan node yang valuenya lebih besar dari node induknya. Ciri - ciri BST: - Menggunkan konsep relationship antara parent dan child - Setiap parent node dapat mempunyai nol anak sampai dengan 2 anak(satu di sebelah kiri dan satu di sebelah kanan) - Setiap subtree mempunyai subbranches di sebelah kanan maupun di sebelah kirinya - Setiap node memilki nilai valuenya sendiri - Node yang terletak di sebelah kiri dari si induk memilki value lebih kecil dari si induk dan lebih besar di sebelah kanan si induk. Tipe - tipe BST : - Full Binary Tree : BST yang dimana setiap node me

Hash Map dan BST

Hash Map adalah suatu array yang mempunyai sekumpulan data yang ditampung sesuai dengan index arraynya, karena menggunakan index sebagai acuan / patokan sehingga pencarian data menjadi lebih cepat Collision Karena hashmap hanya tergantung pada index sehingga dalam pemasukan data dapat mengalami istilah "collision" sehingga ada beberapa cara agar collision dapat dicegah yaitu :  1. Chaining : Jika data memilki hasil hashing yang sama maka index hashing tersebut akan dibuat menjadi sebuah linked list sehingga collision tidak dapat terjadi 2. Linear probling  adalah salah satu cara ketika memasukkan data ke hash mapnya tidak terjadi collision. Linear probling akan terjadi ketika pemasukkan data ke index tersebut tetapi index tersebut telah terisi dan akan terus mencari index yang kosong baru mengisi data tersebut Binary Search Tree adalah cara menampung data yang memanfaatkan konsep akar dan menggunakan suatu node sebagai patokan atau a

Stack and Queue

Stack & Queue Stack adalah konsep dimana dalam suatu linked list akan dilakukan penghapusan pada node terakhir baru node sebelumnya atau biasa orang menyebutnya dengan konsep "LIFO" (Last In First Out) Konsep Stack : - Pop : untuk menghapus data  - Push : untuk menambah data baru - Insert dan delete dari awal data 'top' Queue adalah konsep dimana node pertama yang masuk akan meninggalkan node tersebut duluan atau bisa dibilang sesuai dengan artinya yaitu 'antri'. Jadi Queue menggunakan konsep 'FIFO' (First In First Out) Konsep Queue: - Enqueue : menambah data - Dequeue : menghapus data - Insert dimulai dari data terakhir - Delete dimulai dari data pertama  References : https://www.geeksforgeeks.org/difference-between-stack-and-queue-data-structures/ cs.cmu.edu/~adamchik/15-121/lectures/Stacks%20and%20Queues/Stacks%20and%20Queues.html