2 Star 0 Fork 0

CS-IMIS-23/why20172321

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
.idea
src
Test
WHY
chap1
chap10
chap11
chap12
chap13
chap2
chap3
chap4
chap5
chap6
chap8
chap9
chonggou
exp
exp5
shiyan1
shiyan2
shiyan3
week10
week16
week2
week3
week4
week5
week6
week7
书上代码
蓝墨云1
BinaryTreeNode.java
Haxichongtu.java
LinkedBinaryTree.java
LinkedBinaryTreeTest.java
week8
week9
密码
statistics.sh
test
.gitignore
LICENSE
README.md
h
run.sh
statistics.sh
why.java
克隆/下载
Haxichongtu.java 1.71 KB
一键复制 编辑 原始数据 按行查看 历史
N-idhogg 提交于 7年前 . 哈希冲突修改实践
package week7;
import week5.LinearNode;
public class Haxichongtu {
LinearNode[] Node;
//创建数组
int[] array;
//输入个数
int num;
//冲突次数
static int conflict;
//排列次数
int times;
Haxichongtu(int[] a) {
num = a.length;
conflict = 0;
times = 0;
array = a;
Node = new LinearNode[11];
}
LinearNode[] add() {
for (int i = 0; i < num; i++) {
LinearNode linearNode = new LinearNode();
linearNode.setElement(array[i]);
//链地址法得到位置
int index = array[i] % 11;
if (Node[index] == null) {
Node[index] = linearNode;
} else {
LinearNode current = Node[index];
while (current.getNext() != null) {
current = current.getNext();
}
current.setNext(linearNode);
}
}
return Node;
}
double get() {
double asl = 0;
for (int i = 0; i < Node.length; i++) {
LinearNode node = Node[i];
int num = 1;
while (node != null) {
if (num >= 2)
conflict++;
times = times + num;
node = node.getNext();
num++;
}
}
asl = (double) times / num;
return asl;
}
public static void main(String[] args) {
int[] a = new int[]{11, 78, 10, 1, 3, 2, 4, 21, 42};
Haxichongtu haxichongtu = new Haxichongtu(a);
haxichongtu.add();
System.out.println("ASL = " + haxichongtu.get());
System.out.println("冲突次数:" + conflict);
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/CS-IMIS-23/why20172321.git
git@gitee.com:CS-IMIS-23/why20172321.git
CS-IMIS-23
why20172321
why20172321
master

搜索帮助