前往
大廳
主題

【C#】哈希表 Hash table

炎魔Cafe | 2023-08-01 19:27:13 | 巴幣 0 | 人氣 145

哈希表(Hash table)是一種常見的資料結構,也被稱為字典(Dictionary)或映射(Map)。它通常用於快速查找和檢索資料,並且具有非常高效的查找和插入操作。
在 C# 中,哈希表是使用 Dictionary<TKey, TValue> 類別來實現的。其中,TKey 表示鍵的型別,而 TValue 表示值的型別。

使用方法:
1.建立哈希表
Dictionary<string, int> myDictionary = new Dictionary<string, int>();

2.添加鍵值對到哈希表中
myDictionary.Add("apple", 5);
myDictionary.Add("banana", 3);
myDictionary.Add("orange", 7);

3.檢查鍵是否存在於哈希表中
bool containsKey = myDictionary.ContainsKey("apple");

4.獲取特定鍵的值
int value = myDictionary["banana"];

5.更新特定鍵的值
myDictionary["orange"] = 10;

6.刪除特定鍵值對
myDictionary.Remove("banana");

7.獲取哈希表中的所有鍵
foreach (var key in myDictionary.Keys)
{
    // 執行操作
}

8.獲取哈希表中的所有值
foreach (var kvp in myDictionary)
{
    var key = kvp.Key;
    var value = kvp.Value;
    // 執行操作
}

9.獲取哈希表中的所有鍵值對
foreach (var kvp in myDictionary)
{
    var key = kvp.Key;
    var value = kvp.Value;
    // 執行操作
}
注意事項:
1.在使用哈希表之前,需要引入 System.Collections.Generic 命名空間。
2.在哈希表中查找元素的時間複雜度是常數時間 O(1)。但是,哈希表的性能可能會受到哈希碰撞(Hash Collision)的影響,當兩個不同的鍵被映射到相同的哈希碼時,可能會導致性能下降。為了避免哈希碰撞,需要選擇一個好的哈希函數,或者使用 C# 中提供的 HashSet 或 SortedDictionary 等其他資料結構。
#C#

創作回應

相關創作

更多創作