Anda di halaman 1dari 3

HASH TABLE

1. Tidak ada metode yang secara mutlak dianggap sebagai "metode terbaik" untuk
open addressing pada hash table. Pilihan terbaik tergantung pada berbagai faktor
seperti karakteristik data, kecepatan akses, kompleksitas algoritma, dan performa
yang diinginkan.

Namun, jika harus memilih salah satu dari ketiga metode yang telah dijelaskan,
Double Hashing cenderung memberikan hasil yang lebih baik dalam mengurangi
clustering dan menghasilkan distribusi yang lebih merata dari item dalam hash table.
Dengan menggunakan hash sekunder sebagai offset, double hashing dapat
mengarahkan item ke sel lain yang tersedia dalam hash table, mengurangi
kemungkinan tabrakan. Namun, perlu dicatat bahwa double hashing juga dapat
memiliki kompleksitas algoritma yang lebih tinggi dibandingkan dengan metode
linear probing atau quadratic probing.

Pilihan terbaik untuk open addressing pada hash table akan sangat tergantung pada
kebutuhan dan karakteristik spesifik dari aplikasi yang digunakan. Jika memungkinkan,
disarankan untuk melakukan percobaan dan pengujian dengan dataset yang relevan
untuk menentukan metode open addressing yang paling efektif dalam kasus
penggunaan tertentu.
Contoh Program 1
using System;
using System.Collections;

namespace CollectionsApplication {
class Program {
    static void Main(string[] args) {
        Hashtable NumberHashtable = new Hashtable();
        NumberHashtable.Add(1, "One");
        NumberHashtable.Add(2, "Two");
        NumberHashtable.Add(3, "Three");
        Console.WriteLine("--Number Hashtable--");
//The Hashtable is a collection. We can use the foreach loop to go through all
the items and read them using they Key and Value properties.
    foreach (DictionaryEntry item in NumberHashtable)
    {
        Console.WriteLine($"Key: {item.Key}, Value: {item.Value}");
    }
   }
  }
}
DESKRIPSI:
Program di atas merupakan contoh penggunaan kelas Hashtable dalam bahasa pemrograman
C#. Program ini berfungsi untuk membuat sebuah Hashtable dan mengisinya dengan beberapa
pasangan kunci-nilai. Setelah mengisi Hashtable, program kemudian menampilkan isi Hashtable
ke layar.

Output:

Contoh Program 2
using System;
using System.Collections;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        Hashtable CountryNameHashtable = new Hashtable();
       
        //The following code snippet creates a list where collection of country
names alphabetically
        List<string> CountryNameStartWith_A = new List<string> { "Afghanistan",
"Albania", "Algeria", "Andorra" };
        List<string> CountryNameStartWith_B = new List<string> { "Bahamas",
"Bahrain", "Bangladesh", "Barbados" };
        List<string> CountryNameStartWith_C = new List<string> { "Cambodia",
"Cameroon", "Canada", "Cape Verde" };

        // The following code snippet adds items to the Hashtable.


        CountryNameHashtable.Add('A', CountryNameStartWith_A);
        CountryNameHashtable.Add('B', CountryNameStartWith_B);
        CountryNameHashtable.Add('C', CountryNameStartWith_C);
       
        Console.WriteLine("--Alphabet Wise Country Name--");
       
        //The Hashtable is a collection. We can use the foreach loop to go
through all the items and read them using the Key and Value properties.
        foreach (DictionaryEntry item in CountryNameHashtable)
        {
            List<string> countryNames = item.Value as List<string>;
            Console.WriteLine($"Alphabet: {item.Key}, --> Country Name:
{string.Join(", ", countryNames)}");
        }
    }
}

Deskripsi:
Program ini membuat sebuah Hashtable yang berisi daftar nama-nama negara yang diurutkan
berdasarkan huruf awalnya. Setiap huruf awal (A, B, C) memiliki daftar negara yang dimasukkan
ke dalam Hashtable.
Program ini kemudian mencetak nama-nama negara yang diurutkan berdasarkan huruf awalnya.
Dalam loop foreach, program membaca setiap item dalam Hashtable menggunakan properti Key
dan Value. Nilai (Value) setiap item dianggap sebagai List<string> yang berisi nama-nama
negara. Nama-nama negara tersebut kemudian dicetak dengan menggabungkan string
menggunakan metode Join().

OUTPUT:

Anda mungkin juga menyukai