Mengajar Pemrograman Anak – Pengantar Fungsi Hashing |Algoritma, Blockchain, dan Cloud

Dengan Python, kami memiliki tiga cara berikut untuk membuat tabel hash:

1
2
3
a = {}
a = dict()
a = defaultdict(int) # value type is int
a = {}
a = dict()
a = defaultdict(int) # value type is int

Dua yang pertama setara: ketika kunci tidak ada di tabel hash, pengecualian akan ditampilkan saat Anda mencoba memperbarui/menghapus pasangan nilai kunci. Tabel hash yang dibuat oleh pendekatan ketiga akan mengembalikan nilai default untuk tipe tersebut.

Namun Anda dapat menggunakan metode get untuk menentukan nilai default, misalnya:

1
a.get("key", "default value")
a.get("key", "default value")

Apa itu fungsi hash?

Fungsi hash h(x) memetakan data x (berapa pun panjangnya) ke dalam ruang berukuran tetap. Misalnya, bisa berupa integer 32-bit, atau data 256-bit misalnya fungsi hashing kriptografi SHA-256. Fungsi hash membantu membuat tiga operasi berikut terkait dengan tabel hash secara praktis cepat O(1) waktu konstan:

  • Cari kunci
  • Perbarui pasangan nilai kunci
  • Hapus kunci

Fungsi hash pada dasarnya penting karena semua operasi ini memerlukan lokasi alamat untuk menyimpan item. Fungsi hash adalah satu arah sehingga tidak mungkin untuk mendapatkan item asli dari nilai hash. Fungsi hash harus memiliki karakteristik berikut untuk memiliki tabel hash yang berkinerja.

  • Cepat: Jika proses komputasi kunci hash lambat – kita akan kehilangan keuntungan menggunakan tabel hash.
  • Lebih Sedikit Tabrakan: Jika tabrakan mungkin terjadi, kinerja tabel hash akan lambat
  • Avalanche Effect: sedikit perubahan pada data input perlu menghasilkan nilai hash yang sama sekali berbeda – untuk keamanan yang lebih baik sehingga data asli tidak dapat disimpulkan.

hashing-function-ilustrated-on-white-board Pengajaran Pemrograman Anak - Pengantar Fungsi Hashing teori komputasi matematika hash mengajar pemrograman anak-anak video youtube

–EOF (Blog Komputasi & Teknologi Terbaik) —

Peringkat Bintang GD
Memuat…

512 kata
Postingan terakhir: Mengajar Pemrograman Anak – Mengonversi Array 1-D ke Matriks 2D (Algoritma Membentuk Ulang)