布穀鳥雜湊的學習筆記1

2021-08-19 16:00:48 字數 1543 閱讀 6002

布穀鳥雜湊介面:

public

inte***ce hashfamily

布穀鳥雜湊的類的框架

public

class cuckoohashtable

public

cuckoohashtable(hashfamily<? super e> hashfunctions, int size)

private

void

allocatearray(int arraysize)

// 清空

private

void

doclear()

// 大小

public

intsize()

// 是否為空

public boolean isempty()

public

void

clear()

// 是否包含

public boolean contains(e e)

/*** 布穀鳥雜湊的插入

* * @param e

*/public boolean add(e e)

private

int rehashes = 0;

private random r = new random();

private boolean addhelper(e e)

}int i = 0;

do while (pos == lastpos && i++ < 5);

e tmp = array(lastpos = pos);

array[pos] = e;

e = tmp;

}if (++rehashes > allowed_rehashes) else

rehash();}}

// 擴充套件

private

void

expand()

// 再雜湊

private

void

rehash()

private

void

rehash(int newlength)

}private e array(int index)

// 刪除

public boolean remove(e e)

return pos != -1;

}// 在布穀列表中查詢某項的位置

private

intfindpos(e e)

return -1;

}private

intmyhash(e e, int which)

@override

public string tostring()

return joiner.tostring();

}private

intnextprime(int n)

private boolean isprime(int n)

}

鳥哥的linux私房菜 學習筆記1

gnu c gcc,c語言的編譯程式 gnu c library 簡稱glibc glibc的作用 bash shell 可以被是用來操作作業系統的基本介面 opensource通過提供服務來賺錢,比如紅帽子 posix 規範作業系統核心與應用程式的介面 作業系統的核心必須跟硬體配合 核心編碼 使用...

雜湊演算法 學習筆記1

今天聽了洛谷的字串課之後,對於自己好好學學字串演算法也有了更大的動力。但由於比較弱,所以先從最最簡單的乙個開始。也就是雜湊演算法。它通過給每個字串賦予乙個 隨機 生成的整數的方法,使得可以用更加快的效率實現字串判重或者匹配字串等等操作。比如說如果有兩個字串s和s 長度分別為l和l 而我們要比較它們是...

鳥哥的linux學習筆記

linux 幫助指令 man info usr share doc man man 指令 檢視指令的使用方法。q 退出說明。info info 指令 檢視指令的使用方法。q 退出說明。各種軟體的幫助檔案 usr share doc 簡單的文字編輯器 nano nano file name 命令 ct...