如何将链接列表添加到trie叶



我在java中有一个字典项目。它将单词添加到trie树中,然后我需要在我输入的每个单词的末尾添加一个链接列表,以保存含义。我已经为trie和链表制作了两种节点,如下图所示。

static class TrieNode{
TrieNode[]children=new TrieNode[29];
boolean IsEnd;
TrieNode(){
IsEnd=false;
for(int i=0;i<29;i++)
children[i]=null;
}
}
static class Meaningnode{
String Meaning;
Meaningnode next;
public Meaningnode(String Meaning){
this.Meaning=Meaning;
}
}

26个字母的29个链接,以及一个到父和空格"的链接和一个到列表的链接;

在对29个条目的解释中,您写道:

29个链接,包含26个字母,一个到父级和空格"的链接,以及一个到列表的链接;

这里的问题是;列表中的一个";将违反预期的类型。声明为:

TrieNode[]children=new TrieNode[29];

但是您希望为Meaningnode而不是TrieNode使用条目。这是不对的。相反,只需为该目的指定一个单独的属性,就像您已经为isEnd指定了一个单独属性一样。我甚至会为父项做一个单独的条目(如果你真的需要父项引用的话(。

最后,为Meaningnode添加一个构造函数,该构造函数可以使用第二个参数来指定next:

static class Meaningnode {
String Meaning;
Meaningnode next;
public Meaningnode(String Meaning) {
this.Meaning = Meaning;
}
public Meaningnode(String Meaning, Meaningnode next) {
this.Meaning = Meaning;
this.next = next;
}
}

static class TrieNode {
TrieNode[] children = new TrieNode[27];
boolean IsEnd;
TrieNode parent;
Meaningnode meaning;
TrieNode() {
IsEnd = false;
parent = null;
meaning = null;
for (int i = 0; i < 27; i++)
children[i] = null;
}
// Method to prepend a meaning to the list of meanings:
addMeaning(string meaning) {
this.meaning = new Meaningnode(meaning, this.meaning);
}

// Other methods...
// ...
}
static class Node{
String mean;
Node next;
Node(String s){
mean=s;
next=null;
}
}
static class TrieNode{
TrieNode[]children=new TrieNode[29];
boolean IsEnd;
Meanings_Linked_List list=new Meanings_Linked_List();
TrieNode(){
IsEnd=false;
for(int i=0;i<29;i++)
children[i]=null;
}
}

我知道它还没有完成,只是因为项目的原因,我让它变成这样,无法修复。

相关内容

  • 没有找到相关文章

最新更新