資料結構之雜湊

2021-10-05 06:37:09 字數 622 閱讀 6891

題目1:實現乙個簡單的雜湊結構 

使用youlookdeliciousc的做法,即用拉鍊表來實現。

技巧是vector來做為容器

struct node 

};int len = 1000;

class myhashmap

void put(int key, int value)

pre = cur;

cur = cur->next;

}pre->next = new node(key, value);

}int get(int key)

cur = cur->next;

}return -1;

}void remove(int key)

pre = cur;

cur = cur->next;}}

};

關於雜湊還有什麼可以說的呢?

1.設計雜湊函式(要求) 

常用的雜湊函式總結:

2.防止衝突的方法:

開放定址法

拉鍊法3.裝載因子

對於開放定址法:裝入的數量/陣列的空間

對於拉鍊法:m/n

資料結構之雜湊例程

int hash const string key,int tableszie int hash const string key,int tablesize a hash routine for string objects.int hash const string key,int tables...

資料結構之雜湊表

雜湊表和雜湊化有乙個重要的概念是如何把關鍵字轉換成陣列下標,在雜湊表中這個轉換是通過雜湊函式來完成的。比如規定乙個單詞含有4個字元,對於單詞cats,我們採用 冪的連乘 的方式將乙個單詞對映成數字。因為有27個可能的字元,包括空格,所以冪採用27,則cats的數字下標是3 27 3 1 27 2 2...

資料結構之雜湊表

wikipedia上的解釋 下圖示意了雜湊表 hash table 這種資料結構。雜湊表 如上圖所示,首先分配乙個指標陣列,陣列的每個元素是乙個鍊錶的頭指標,每個鍊錶稱為乙個槽 slot 哪個資料應該放入哪個槽中由雜湊函式決定,在這個例子中我們簡單地選取雜湊函式h x x 11,這樣任意資料x都可以...