You are on page 1of 17

PENCARIAN

: BAGIAN
2

MUHAMMAD YASIR KHAHFI


210209502092
PTIK E
PENCARIAN BINER :
ANALISIS
Kompleksitas Kasus Rata-rata Kasus Setiap level
Terburuk??? juga dalam rekursi,
= O (log, N) kami membagi
array menjadi
Berapa kedalaman Oleh karena itu dua
maksimum kedalaman rekursi
panggilan rekursif maksimum
dalam pencarian adalah lantai
Biner sebagai (log, N) dan Kasus
fungsi N??? terburuk = O (log,
N)
BISAKAH KITA MELAKUKAN LEBIH
BAIK
DARI O
Rata-rata dan (log,n)
Kasus terburuk
dari pencarian serial = O(n)

Rata-rata dan Kasus pencarian


Biner terburuk = O (log, N)
APA ITU TABLET
HASH ?
Jenis tabel hash yang paling Saat tabel hash digunakan, Dalam contoh ini, kuncinya adalah
sederhana adalah array beberapa tempat berisi catatan bidang bilangan bulat panjang
record yang valid, dan tempat lainnya yang disebut angka
"kosong"

Nomor tersebut mungkin merupakan


nomor identifikasi seseorang, dan
catatan lainnya berisi informasi tentang
orang tersebut

Setiap catatan memiliki


bidang khusus, yang disebut
kuncinya

Contoh catatan gas 701 ini


BUKU ALAMAT
HASHING
Untuk menyisipkan catatan baru, kunci
entah bagaimana harus dikonversi ke
indeks array

• Untuk mengurangi benturan....


• Gunakan tabel CAPACITY = bilanganprima dari
bentuk 4k+3

Indeks disebut nilai hash dari kunci


MEMASUKKAN REKOR
BARU
Cara khas membuat has value
: (nomor mod 701)

Cara umum untuk


membuat
nilai hash: (nomor mod
701)

Nilai hash digunakan untuk


lokasi record baru
TABRAKAN

01
Berikut adalah catatan
baru lainnya untuk
dimasukkan, dengan
nilai hash 2

02
Ini disebut
tumbukan, karena
sudah ada catatan
valid lain di 2
MENCARI
KUNCI
Hitung nilai hash Periksa lokasi array
untuk kuncinya

Data yang Terus bergerak maju Ketika item


dilampirkan ke kunci sampai Anda ditemukan, informasi
dapat ditemukan menemukan kuncinya, dapat disalin ke
dengan cukup cepat Atau Anda mencapai lokasi yang
tempat kosong diperlukan
Catatan

1 Mungkin juga
dihapus
dari tabel
hash

MENGHAPUS Namun lokasi tersebut


tidak boleh dibiarkan

2 sebagai "tempat

CATATAN
kosong" biasa karena
dapat mengganggu
pencarian

Lokasi harus ditandai


dengan cara khusus

3
sehingga pencarian
dapat mengetahui
bahwa tempat itu
dulu memiliki
sesuatu di dalamnya
HASHING
Tabel hash
menyimpan koleksi
catatan dengan kunci

Lokasi catatan
tergantung pada nilai
hash dari kunci
catatan

Buka Alamat Hashing-Ketika


tabrakan terjadi, lokasi yang
tersedia berikutnya digunakan-
Mencari kunci tertentu
umumnya Cepat-Ketika suatu
item dihapus, lokasinya harus
ditandai dengan cara khusus,
sehingga pencarian tahu
bahwa tempat itu pernah
digunakan.

Lihat teks untuk


Implementasi
KEKELOMPOKAN
Dalam metode hash yang dijelaskan, ketika

1 penyisipan mengalami tabrakan, kami


bergerak maju dalam tabel sampai tempat
kosong ditemukan. Ini disebut penyelidikan
linier
Masalah: ketika beberapa kunci berbeda di-

2 hash ke lokasi yang sama, tempat yang


berdekatan dalam tabel Akan terisi. Ini
mengarah pada masalah pengelompokan

Saat tabel mendekati KAPASITAS, cluster


3 ini cenderung bergabung. Ini
menyebabkan penyisipan memakan
waktu lama
HASHING
Mari kita
GANDA
panggil fungsi
Saat item dimasukkan,
gunakan hash 1(key)
untuk menentukan
lokasi penyisipan i
hash asli hash dalam array seperti
1 sebelumnya
Jika tabrakan
terjadi, gunakan
hash2 (kunci)
untuk
menentukan
seberapa jauh
untuk bergerak
maju dalam array
Salah satu mencari tempat
teknik umum kosong
untuk Tentukan
menghindari fungsi hash
cluster disebut kedua hash
Double Hashing 2
Ini berbeda Kedua Metode adalah
dengan Hashing Hashing Alamat Terbuka,
dengan probing karena Metode mengambil
linier tempat Terbuka berikutnya
dalam array

Pengelompokan cenderung berkurang,


karena hash2() memiliki nilai yang berbeda
untuk kunci yang awalnya dipetakan ke
lokasi awal yang sama melalui hash1()
HASHING
Di Open Address
BERANTAI
Hashing, tabrakan Ketika array Kita bisa
ditangani dengan penuh, tidak menyelesaikan ini
ada item baru Alternatif: Hashing
menyelidiki array dengan dirantai
untuk tempat yang dapat mengubah
kosong berikutnya ditambahkan ukuran tabel
01
Kasus terburuk: Setiap
kunci di-hash ke
indeks array yang
ANALISIS sama! O(n) cari!!!

WAKTU
HASHING
02
Untungnya, kasus rata-
rata lebih
menjanjikan
WAKTU
PENCARIAN RATA
RAT
A
Untuk Pengalamatan
Terbuka dengan probing
linier, jumlah rata-rata
elemen tabel yang
diperiksa dalam
pencarian yang berhasil
adalah kira-kira
Bahasa C++

You might also like