關於雜湊表,雜湊函式的兩個問題,有關雜湊表雜湊函式的題 應該很簡單,可惜我不會

時間 2021-08-30 09:51:48

1樓:匿名使用者

59放在11號位置,搜尋次數是4次,有0-17共18個格子,mod是取餘操作,26mod17=9,則26放9號,25mod17=8,25放8號,72mod17=0,72放0號,38mod17=4,38放4號,8mod17=8,由於8號被25佔用,嘗試放在9號,9號又給26佔用,8最終放在10號,18mod17=1,18放1號,59mod17=8,應該是放8號,由於25已經佔用8號,因此嘗試放9號,9號被26佔用,嘗試放10號,10號被8佔用,因此最終放在11號

2樓:樊枝亓夏萱

一般的線性表,樹中,記錄在結構中的相對位置是隨機的,即和記錄的關鍵字之間不存在確定的關係,因此,在結構中查詢記錄時需進行一系列和關鍵字的比較。這一類查詢方法建立在「比較「的基礎上,查詢的效率依賴於查詢過程中所進行的比較次數。

理想的情況是能直接找到需要的記錄,因此必須在記錄的儲存位置和它的關鍵字之間建立一個確定的對應關係f,使每個關鍵字和結構中一個唯一的儲存位置相對應。

3樓:愛可生雲資料庫

雜湊表是一種資料結構,通過雜湊函式(也就是 hash 函式)將輸入對映到一個數字,一般用對映出的數字作為儲存位置的索引。陣列在查詢時效率很高,但是插入和刪除卻很低。而連結串列剛好反過來。

設計合理的雜湊函式可以整合連結串列和陣列的優點,在查詢、插入、刪除時實現 o(1) 的效率。雜湊表的儲存結構使用的也是陣列加連結串列。執行效率對比可以看下圖 1.

3:雜湊表的主要特點:

將輸入對映到數字

2. 不同的輸入產生不同的輸出

3. 相同的輸入產生相同的輸出

4. 當填裝因子超過閾值時,能自動擴充套件。填裝因子 = 雜湊表包含的元素數 / 位置總數,當填裝因子 =1,即雜湊表滿的時候,就需要調整雜湊表的長度,自動擴充套件的方式是:

申請一塊舊儲存容量 x 擴容係數的新記憶體地址,然後把原記憶體地址的值通過其中的 key 再次使用 hash 函式計算儲存位置,拷貝到新申請的地址。

5. 值呈均勻分佈。這裡的均勻指水平方向的,即陣列維度的。

如果多個值被對映到同一個位置,就產生了衝突,需要用連結串列來儲存多個衝突的鍵值。極端情況是極限衝突,這與一開始就將所有元素儲存到一個連結串列中一樣。這時候查詢效能將變為最差的 o(n),如果水平方向填充因子很小,但某些節點下的連結串列又很長,那值的均勻性就比較差。

有關雜湊表雜湊函式的題...應該很簡單,可惜我不會..

4樓:匿名使用者

42/13餘數為3,由於3位置已經被佔用,所以用雜湊函式h2計算得到下個地址為42mod11+1等於10,故地址為10.

應該是的,好久沒看這個不怎麼記得了,不過方法大概是這樣。

5樓:日記裡de情書

h1=42 mod 13=3, 地址3中已分復配給85,所以計算制h2, h2=42 mod 11+1 =10, 這是地址增量。下一個探bai測地址應du為3+10=13, 13 mod 13 =0, 0 地址為空,所以zhi42可插入在該dao地直中。

雜湊表雜湊函式問題

6樓:匿名使用者

對4求餘 12mod4=0 23mod4=3 74mod4=2 55mod4=1 63mod4=3

40mod4=0

所以子表(12,40) (23,63) (74) (55)

關於雜湊表的一道習題,望大神解答~?

7樓:我的資料

呵呵,這也是我曾經最搞不懂的地方呀,這個就是出題人給出來的一系列的條件而已,不要過多的考慮為什麼,取不到怎麼辦。這個就是要明確3點:1、雜湊函式,2、衝突處理方式,3、雜湊表地址範圍。

一般情況就是雜湊函式的取餘值的大小與雜湊表地址範圍一致,但也會出現題目中的這種不一致的情況,而這裡的不一致有時候是有理由的,不如這裡採用線性探測再雜湊的方式處理衝突,是取di=1,2,3,4,....m-1的,當這裡的15位置被佔用時,就是要取在下一個位置了,直到達到雜湊地址的最大值。

另外看了一下你貼出來的**,明白了你的問題在**。你要明確一點:在書本上的開放定址法的公式是怎麼樣的:h(key)=(h(key)+di)%m,i為1,2,3,...,m-1

比如46,第一次的h(key)值為15,已經被佔用,那麼再次計算時h(key)=(15+1)%m,要注意了,這裡的m是18還是16?????定義上的m值是指的雜湊表的長度,而不是雜湊函式中的16。所以你的上面的是正確的。

這也是曾經困擾我很長時間的問題呀,再次遇到了,解答一下,不要嫌囉嗦。over。

有關資料結構雜湊表的問題

舉個簡單的例子 有一百個數字1 100,隨機產生20個,求20個不重複的數的和。例如 1,1,1,1,1,1,1,1,1,1,2,2,3,6,3,2,3,2,3,2 則20個不重複的數的和 1 2 3 6 12main 上面的思想是,每次得到一個數字,讓它和連結串列裡的數字依依比較,如果連表裡面沒有...

公司有兩個路由,問題,關於兩個路由器的問題

一個為主路由 然後另一個接入到主路由中,設定預設。直接當做分線器用 這樣問題是不是就解決了?我們公司就這樣搞的 用了大約4個路由器 ip上市一個段內的 比如主路由ip 然後所有計算機都在這個ip段內,現在使用正常。網段是你自己隨便設的呀,當然可以了。不和公網地址衝突,你設成什麼都行啊。關於兩個路由器...

關於excel的兩個問題

一 我有一列資料a,希望a上面能夠全部顯示為a 3的結果,請問怎麼操作呢?我有試過複製一列出來,然後使用公式的方法,能夠解決但是很複雜,怎樣才能直接在a上面使用公式呢?直接在a上面使用公式是不行的,如果使用巨集就可以達到,要程式設計,當然很簡單 二 我有一個很複雜的excel 用了一個簡單的數學公式...