Posts

Showing posts from March, 2020

Hashing, Hashing Tables and Binary Trees

Hashing, Hashing Tables and Binary Trees Hashing hashing adalah suatu teknik untuk menyimpan dan menemukan kunci secara cepat dengan cara mengubah string menjadi kunci yang lebih pendek. Metode: - MidSquare: hashing dengan cara menkuadratkan nilai dari key dan mengambil nilai tengah dari hasil tersebut. - Division: Hashing dengan cara menggunakan sisa bagi dari kunci. - Folding: Hashing dengan cara membelah key lalu menjumlahkan keduanya dan mengambil dua digit terakhir. - Digit Extraction: Hashing dengan cara mengambil nilai dari beberapa index tertentu dari kunci. - Rotating Hash: Hashing ini dapat menggunakan metode hashing apapun lalu melakukan pergerakan nilainya agar mendapatkan nilai baru. Collision Apabila terjadi string dengan hash key yang sama maka terdapat beberapa cara untuk menanganinya: - linear Probing: Mencari slot kosong berikutnya - Chaining: menggunakan linked list untuk mengikatnya. Tree Data stucture yang memiliki banyak node dan setiap nod ma...

Stack and Queue

Stack Stack adalah data structure yang menyimpan data secara terurut, sehingga yang pertama keluar adalah yang terakhir dimasukan ke dalam stack (seperti menaruh piring). mempunyai 2 variable: -Top: data yang berada di paling luar -Max: data maksimal yang dapat ada di stack operation di stack: -push: menambah item -pop: membuang item dari atas stack -top: menunjukan item apa yang berada di atas stack Prefix, Infix, Postfix prefix: operator ditulis sebelum operand infix: operator ditulis ditengah operand postfix: operator ditulis setelah operand mengapa dibutuhkan ? -untuk mempercepat komputasi karena memberitahu order dari komputasi Queue Queue adalah data structure yang menyimpan data secara berurut, sehingga yang pertama masuk adalah yang pertama keluar. mempunyai 2 variabel: -front: index pertama -rear: index terakhir operation di stack: -push: menambah item -pop: membuang item dari depan queue -top: menunjukan item apa yang berada di front queue