演算法導論示例 ChainedHash

2021-04-07 12:07:03 字數 1105 閱讀 6323

/**

* introduction to algorithms, second edition

* 11.2 direct-address tables

* @author 土豆爸爸

* */

public class chainedhash

}

/**

* 查詢鍵值為k的元素

* @param k 待查詢元素的鍵值

* @return 鍵值為k的元素,未找到返回null

*/

public linkedlist.node search(int k)

/**

* 插入節點x。根據x.key計算雜湊值,將x插入到雜湊表所指向的鍊錶中。

* @param x 待插入節點

*/

public void insert(linkedlist.node x)

/**

* 刪除節點x。

* @param x 待刪除節點

*/

public void delete(linkedlist.node x)

/**

* 計算雜湊值

* @param key 鍵值

* @return 雜湊值

*/

private int hash(int key)

public void print()

system.out.println();

}

}

}import junit.framework.testcase;

public class chainedhashtest extends testcase

}

table.print();

// 找到乙個節點

linkedlist.node node = null;

for (int i = 0; i < 100; i++)

}

assertnotnull(node);

table.delete(node);

assertequals(null, table.search(node.key));

}

}

演算法導論示例 InsertSort

introduction to algorithms,second edition 2.1 insertsort author 土豆爸爸 public class insertsort array i 1 key import junit.framework.testcase public clas...

演算法導論示例 MergeSort

introduction to algorithms,second edition 2.3 mergesort author 土豆爸爸 public class mergesort public static void merge int array,int p,int q,int r l i in...

演算法導論示例 PermuteBySorting

introduction to algorithms,second edition 5.3 permute by sorting author 土豆爸爸 public class permutebysorting 根據隨機數組對目標資料進行排序 sort array,p 根據p對array重排 pa...