当前位置: 首页 > news >正文

建站好用的软件企业新闻稿发布平台

建站好用的软件,企业新闻稿发布平台,网站赌博代理怎么做,商城网站开发公司直接上测试结果: 1000000数据集。 1000000关键词(匹配词) 装载消耗时间:20869 毫秒 匹配消耗时间:6599 毫秒 代码和测试案例: package com.baian.tggroupmessagematchkeyword.ac;import lombok.Data;im…

直接上测试结果:

1000000数据集。
1000000关键词(匹配词)

装载消耗时间:20869 毫秒
匹配消耗时间:6599 毫秒

代码和测试案例:

package com.baian.tggroupmessagematchkeyword.ac;import lombok.Data;import java.util.*;/*** @program: tg-parent* @description: ac* @author: <发哥讲Java-694204477@qq.com>* @create: 2023-09-19 17:20**/
@Data
public class AhoCorasick {private TrieNode root;public AhoCorasick() {root = new TrieNode();}public void addKeyword(String keyword) {TrieNode current = root;for (char ch : keyword.toCharArray()) {current = current.getChildren().computeIfAbsent(ch, c -> new TrieNode());}current.setEndOfWord(true);current.addKeyword(keyword);}public void buildFailureLinks() {Queue<TrieNode> queue = new LinkedList<>();root.setFailure(null);queue.offer(root);while (!queue.isEmpty()) {TrieNode current = queue.poll();for (TrieNode child : current.getChildren().values()) {TrieNode failure = current.getFailure();while (failure != null && !failure.getChildren().containsKey(child.getKey())) {failure = failure.getFailure();}if (failure == null) {child.setFailure(root);} else {child.setFailure(failure.getChildren().get(child.getKey()));child.addAllKeywords(child.getFailure().getKeywords());}queue.offer(child);}}}public List<String> searchKeywords(String text) {List<String> result = new ArrayList<>();TrieNode current = root;for (int i = 0; i < text.length(); i++) {char ch = text.charAt(i);while (current != null && !current.getChildren().containsKey(ch)) {current = current.getFailure();}if (current == null) {current = root;} else {current = current.getChildren().get(ch);if (current.isEndOfWord()) {result.addAll(current.getKeywords());}TrieNode failure = current.getFailure();while (failure != null) {if (failure.isEndOfWord()) {result.addAll(failure.getKeywords());}failure = failure.getFailure();}}}return result;}public static class TrieNode {private char key;private boolean endOfWord;private TrieNode failure;private Map<Character, TrieNode> children;private List<String> keywords;public TrieNode() {children = new HashMap<>();keywords = new ArrayList<>();}public char getKey() {return key;}public void setKey(char key) {this.key = key;}public boolean isEndOfWord() {return endOfWord;}public void setEndOfWord(boolean endOfWord) {this.endOfWord = endOfWord;}public TrieNode getFailure() {return failure;}public void setFailure(TrieNode failure) {this.failure = failure;}public Map<Character, TrieNode> getChildren() {return children;}public List<String> getKeywords() {return keywords;}public void addKeyword(String keyword) {keywords.add(keyword);}public void addAllKeywords(List<String> keywords) {this.keywords.addAll(keywords);}}
}

main:

package test;import com.baian.tggroupmessagematchkeyword.ac.AhoCorasick;import java.util.ArrayList;
import java.util.List;
import java.util.UUID;/*** @program: tg-parent* @description: 多样本数据集 测试。* @author: <发哥讲Java-694204477@qq.com>* @create: 2023-09-19 14:11**/
public class TestMain001 {public static void main(String[] args) {long start0 = System.currentTimeMillis();List<String> datas = new ArrayList<>(1000000);for (int i = 0; i < 1000000; i++) {datas.add(UUID.randomUUID().toString() + UUID.randomUUID().toString());}AhoCorasick ahoCorasick2 = new AhoCorasick();for (int i = 0; i < 1000000; i++) {ahoCorasick2.addKeyword(UUID.randomUUID().toString());}ahoCorasick2.addKeyword("11");ahoCorasick2.addKeyword("22");ahoCorasick2.buildFailureLinks();long end0 = System.currentTimeMillis();System.out.println("装载消耗时间:" + (end0 - start0));long start = System.currentTimeMillis();for (String message : datas) {List<String> stringList = ahoCorasick2.searchKeywords(message);if (stringList.size() > 0) {
//                System.out.println(stringList + " message:" + message + " size:" + stringList.size());}}long end = System.currentTimeMillis();System.out.println("消耗时间:" + (end - start));}
}

http://www.hengruixuexiao.com/news/33996.html

相关文章:

  • 网站建设优化服务器5118关键词查询工具
  • 用香港服务器建网站做微商商品推广软文范例300字
  • 专线网站建设百度里面的站长工具怎么取消
  • 网站后台上传文章格式百度竞价推广什么意思
  • 施工企业破产质保seo搜索引擎优化营销案例
  • 企业网站备案建设方案策划书排名优化公司口碑哪家好
  • 长沙专业网站优化定制宣传软文怎么写
  • 建设项目银行网站企业网站建设方案论文
  • 包头做网站公司广告资源网
  • 中文html5网站欣赏宁波seo优化项目
  • 做竞价的网站如何做企业网站
  • 模板网站哪家好网站策划方案书
  • 网站建设需要哪些技术人员简述常用的网络营销方法
  • 个人网站建设基础与实例2020十大网络热词
  • 嘉兴手机网站制作360网站推广费用
  • 长沙仿站模板网站建设网络推广渠道分类
  • 做移动网站优化排名十大互联网平台
  • 网站如何做关键词seo腾讯广告推广平台
  • 网站初期做几个比较好娄底地seo
  • 巴中网站建设seo sem关键词优化
  • 博客网站开发搜索引擎seo是什么
  • 网站 手机版 电脑版 怎么做下载百度2023最新版安装
  • wordpress网站下载文件长尾关键词挖掘精灵官网
  • 辽宁网站建设百度的营销中心上班怎么样
  • 用rp怎么做网站按钮下拉框简述搜索引擎的工作原理
  • 南宁seo建站域名停靠网页推广大全
  • 怎么注册域名免费谷歌seo软件
  • 南宁网站推广公司如何在百度推广
  • 微信小程序开发报价优化seo方案
  • 宝塔做网站安全吗技术培训班