gpt4 book ai didi

java - 硬件 : Creating my own hashtable - Unsure of how to use a linkedlist in it

转载 作者:行者123 更新时间:2023-12-02 10:19:00 25 4
gpt4 key购买 nike

我正在做一项任务,我们正在制作自己的哈希表。我今天去找一个 AI,他说我的代码“在正确的轨道上,但我应该使用链表”,我对他的意思有点困惑。

请给我一些提示,告诉我我缺少什么。

class HashSeparateChaining extends HashTable {

int size = 0;
HashFunction hf;
List<Integer> arrayList = new ArrayList<>();

public HashSeparateChaining(int size, HashFunction hf) {

size = this.size;
hf = this.hf;

for(int i = 0; i < size; i++) {
arrayList.add(null);
}

}

@Override
void insert(int key) throws TableFullE {
arrayList.set(key, key);

}

@Override
void delete(int key) {
arrayList.set(key, null);
}

@Override
boolean search(int key) {
for(int z = 0; z < arrayList.size(); z++)
if(arrayList.get(z) == key)
return true;

return false;
}

}

那么人工智能是否意味着我应该使用这样的东西?

List<LinkedList<Integer, String>> list = new LinkedList<>();

最佳答案

我不确定 SO 是一个家庭作业帮助网站,但快速谷歌搜索就会出现 https://www.geeksforgeeks.org/hashing-set-2-separate-chaining/这应该会给你一个想法。

您的底层实现可能是 ListArrayList

插入:将 HashFunction 应用于键会为您提供 ArrayList 中的索引。然后将键添加到存储在该索引处的列表的后面。(需要澄清表已满意味着什么,以便您知道何时抛出 TableFullE 异常)。

删除:与插入类似,将 HashFunction 应用于键以找出我们搜索的 List。不妨使用 List 的方法来删除该项目。

搜索:与删除类似,只不过使用 Listcontains() 来回答搜索查询

有很多可能的优化,但首先尝试让它发挥作用。

关于java - 硬件 : Creating my own hashtable - Unsure of how to use a linkedlist in it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54471170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com