java 前缀树使用
时间: 2024-02-07 13:44:51 浏览: 38
在Java中,可以使用Trie树实现前缀树。Trie树是一种树形结构,用于存储和查询字符串。下面是一个简单的Java代码示例,展示了如何实现前缀树:
```java
class TrieNode {
private TrieNode[] children;
private boolean isWord;
public TrieNode() {
children = new TrieNode == null) {
node.children[index = new TrieNode();
}
node = node.children[index];
}
node.isWord = true;
}
public boolean search(String word) {
TrieNode node = searchPrefix(word);
return node != null && node.isWord;
}
public boolean startsWith(String prefix) {
return searchPrefix(prefix) != null;
}
private TrieNode searchPrefix(String prefix) {
TrieNode node = this;
for (char c : prefix.toCharArray()) {
int index = c - 'a';
if (node.children[index == null) {
return null;
}
node = node.children[index];
}
return node;
}
}
public class Trie {
private TrieNode root;
public Trie() {
root = new TrieNode();
}
public void insert(String word) {
root.insert(word);
}
public boolean search(String word) {
return root.search(word);
}
public boolean startsWith(String prefix) {
return root.startsWith(prefix);
}
}
```
这个代码示例中,`TrieNode`类表示前缀树的节点,每个节点包含一个字符数组和一个布尔值,用于标记是否是一个完整的单词。`Trie`类则是前缀树的实现,提供了插入、搜索和前缀匹配等功能。
使用该代码实现的前缀树,可以方便地插入字符串,搜索字符串和匹配前缀。你可以根据自己的需求来使用和扩展这个前缀树实现。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [Trie树(字典树)的介绍及Java实现](https://download.csdn.net/download/weixin_38725119/12786975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [java实现前缀树--过滤敏感词汇](https://blog.csdn.net/qq_37933128/article/details/126461250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)