Apa itu fungsi hash, itu adalah sesuatu yang digunakan di seluruh ilmu komputer.
Fungsi hash hanyalah fungsi yang menghasilkan nilai dengan panjang tetap untuk setiap input yang didapatnya.
Baiklah, apa artinya itu?
Nah, saya memiliki generator hash yang dimodifikasi bernama lima adalah jenis fungsi hash dan ada banyak, banyak jenis
yang mungkin pernah Anda dengar, tembakan satu tembakan ke 56 dan banyak lainnya.
Menggunakan fungsi hash ini, mari kita lihat apa yang terjadi jika saya melakukannya.
Halo?
Anda langsung melihatnya, dan kelimanya meng-hash string ini dan mengubahnya menjadi omong kosong ini.
Itulah yang dilakukan fungsi hash, kami memberikannya masukan dan fungsi tersebut menghasilkan beberapa pola acak.
Sekarang ada beberapa aspek kunci dari fungsi hash.
Pertama adalah bahwa itu salah satu cara.
Dalam arti bahwa jika saya memberikan ini kepada seseorang, mereka tidak tahu apa inputnya dan praktis
tidak mungkin bagi saya untuk mengetahui apa inputnya.
Yang kedua adalah tidak peduli berapa kali saya mengucapkan halo di sana, itu akan tetap sama.
Tapi saya segera setelah saya mengubah satu hal, itu akan benar-benar mengubah output.
Jika saya kembali ke halo dan.
Perhatikan saya ubah saja menjadi Kapital H, bahkan huruf kapital, jadi dimulai dengan lima D empat, jika
saya melakukan Kapital H, sama sekali berbeda lagi.
Dan melihat ini, setidaknya kita bisa mengatakan bahwa, hmm, saya tidak tahu untuk apa ini berguna, tetapi satu hal yang saya tahu
adalah bahwa apa pun yang saya berikan, jika saya memberikan masukan yang sama, itu akan memberi saya hasil
yang sama.
Tapi saya tidak tahu bagaimana mengubah ini kembali menjadi halo.
Inilah yang kami sebut independen atau independen, ada pengucapan yang berbeda, saya tidak begitu yakin yang mana,
tetapi ini adalah cara yang bagus untuk mengatakan bahwa suatu fungsi, yang diberi input, selalu menghasilkan output
yang sama.
Sekarang, satu keuntungan dan mengapa kami ingin menggunakan ini dan struktur data adalah bahwa kami
mendapatkan akses data yang sangat cepat karena yang harus saya lakukan untuk menemukan Graps atau Baskett DOT Graps adalah meneruskan Graps ke dalam sesuatu seperti lima
hash kosong.
Ini menghasilkan nomor ini untuk saya dan saya segera tahu di mana itu ada di memori saya di komputer kami.
Tapi ini tidak terlihat seperti alamat, kan?
Secara teknis, fungsi hash yang kita gunakan untuk tabel hash akan mengambil grafik, menghasilkan
semacam omong kosong dan kemudian mengubahnya menjadi basis indeks atau basis alamat yang didasarkan pada nomor ini.
Anda tahu, tidak seperti balapan di mana kami baru saja memesan indeks dengan tabel hash, yang perlu kami lakukan hanyalah memberikan kunci dan kami
tahu persis di mana item itu berada di memori kami.
Tapi Anda mungkin bertanya-tanya, fungsi hash kotak hitam ini, bukankah itu memperlambat segalanya?
Karena setiap kali kita ingin menambahkan properti.
Dan nilai anggur dan sepuluh ribu ke tabel hash, kita harus menjalankannya melalui fungsi hash sehingga kita dapat memutuskan
di mana untuk meletakkannya di memori.
Dan jika Anda memperhatikan itu, kerja bagus, itu adalah faktor besar.
Anda tidak ingin ini memakan waktu lama karena, yah, setiap kali Anda menambahkan properti ke memori
atau mengambil properti ke memori, karena, sekali lagi, kami berdua mengirim anggur kunci ke fungsi hash ke
temukan dari mana mendapatkannya.
Kami membutuhkan ini untuk menjadi sangat, sangat cepat.
Dan di baliknya, ingat, karena tabel hash ada di semua bahasa, tabel tersebut diimplementasikan
dengan fungsi hashing optimal yang sangat, sangat cepat.
Sebagai catatan sampingan.
Fungsi hash seperti tembakan ke lima puluh enam membutuhkan waktu yang sangat lama untuk menghasilkan hash.
Dan itu adalah fungsi hashing yang terlalu rumit yang banyak digunakan di tempat-tempat seperti kriptografi di mana Anda
ingin ini memakan waktu lebih lama, tetapi itu di luar cakupan kursus ini.
Jika Anda tertarik, saya sarankan Anda memeriksa perbedaan antara keduanya.
Untuk meninjau, kami memiliki kunci yaitu graps, kami mengirimkannya melalui fungsi hash yang akan meng-hash sesuatu
dengan sangat, sangat cepat dan kemudian memetakan hash apa pun yang keluar menjadi alamat memori tempat kami
ingin menyimpan kami.
Data adalah grafik 10.000.
Dan ketika menyangkut fungsi hashing, Anda biasanya membiarkan ini pada kerangka kerja
atau bahasa apa pun yang Anda gunakan, dan kami biasanya mengasumsikan waktu, kompleksitas, atau notasi besar, karena ini terjadi sangat
cepat.
Baiklah.
Sekarang setelah kita memahami apa yang dilakukan kotak hitam ini, mari kita bicara lebih banyak tentang tabel hash, mengapa
tabel itu berguna dan mengapa dalam beberapa kasus lebih baik daripada iRace.