利用Trie树,来查找单词出现的次数
来源:互联网 发布:司马懿和诸葛亮知乎 编辑:程序博客网 时间:2024/04/29 03:48
- Trie节点
class TrieNode { TrieNode nodes[]; boolean isSentence; //称为一个句子的话仍然可能会有子节点 int count; //表示当前节点实际上代表了多少个相同的单词 public TrieNode() { nodes = new TrieNode[26]; //26个英文字母 isSentence = false; count = 0; }}
- 构造Trie树,以及查找节点
//单论小写字母void buildTrie(String str, TrieNode root) { if (root == null) return; TrieNode curr = root; char[] arr = str.toCharArray(); for (int i = 0; i < arr.length; ++i) { if (curr.nodes[arr[i] - 'a'] == null) { curr.nodes[arr[i] - 'a'] = new TrieNode(); } curr = curr.nodes[arr[i] - 'a']; if (i == arr.length - 1) { curr.isSentence = true; curr.count++; } }}int findStr(String str, TrieNode root) { if (root == null) return 0; TrieNode curr = root; char arr[] = str.toCharArray(); for (int i = 0; i < arr.length; ++i) { if (curr.nodes[arr[i] - 'a'] == null) return 0; curr = curr.nodes[arr[i] - 'a']; if (arr.length - 1 == i && curr.isSentence) { return curr.count; } } return 0;}
- 测试一下:
public static void main(String[] args) { print p = new print(); TrieNode node = new TrieNode(); p.buildTrie("wangcheng", node); p.buildTrie("abc", node); p.buildTrie("abc", node); p.buildTrie("hello", node); p.buildTrie("hello", node); int a = p.findStr("wangcheng", node); System.out.println(a);}
0 0
- 利用Trie树,来查找单词出现的次数
- 统计单词出现的最多次数(Trie树)
- 单词查找树-trie
- trie树统计单词出现的个数
- 单词的出现次数
- 查找一个字符串中每个单词的出现次数--Java
- 查找一段英文中各个单词出现的次数
- Trie—单词查找树
- Trie—单词查找树
- Trie—单词查找树
- Trie—单词查找树
- Trie—单词查找树
- Trie—单词查找树
- 单词查找之Trie树
- 利用键值对统计单词出现的次数
- 练习2-4:编一个程序统计文件中特定单词出现的次数(要求使用string类的运算符==来查找单词)
- 练习2-4:编一个程序统计文件中特定单词出现的次数(要求使用string类的运算符==来查找单词) .
- 查找单词出现次数[C实现]
- Android Studio 中添加 jar 包
- 实用工具大推荐,运营、设计、广告人
- 软件架构入门
- 如何将java web项目上线/部署到公网
- 直白叙述一下multi interface优于easy interface的地方
- 利用Trie树,来查找单词出现的次数
- 在活动中创建Menu,Menu无法显示
- 一头扎进设计模式-命令模式
- 内核模式下的注册表操作
- 你是我红尘里最美的那株莲
- Ojbective-C基础教程
- JS如何输出空格
- XManager5基于gdm连接centos图形界面
- TLCL学习笔记02——使用命令、重定向、从shell眼中看世界