布穀鳥雜湊介面:
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...