掌握了数据结构和算法才能够写出性能更优的代码。而看待问题的深度,解决问题的角度就会完全不一样。 数据结构 数组 链表 栈 队列 散列表 堆 二叉树 图 Trie树 跳表 一些常见算法 递归 排序 搜索 二分查找 哈希算法 贪心算法 分治算法 回溯算法 动态规划 字符串匹配算法 摆脱CRUD boy, ...
分类:
编程语言 时间:
2019-09-12 18:37:01
阅读次数:
106
将所有敏感词生成Trie树结构,便于做敏感词检测,生成代码如下classTrieNode{privatestatic$TrieTree;publicfunction__construct(){static::$TrieTree=[];}publicfunctioninsert($sensWords):TrieNode{$words=preg_split(‘//u‘,$sensWords,-1,PR
分类:
Web程序 时间:
2019-09-09 21:07:15
阅读次数:
118
一、数据挖掘 中文分词 ? 一段文字不仅仅在于字面上是什么,还在于怎么切分和理解。? 例如: – 阿三炒饭店: – 阿三 / 炒饭 / 店 阿三 / 炒 / 饭店? 和英文不同,中文词之间没有空格,所以实现中文搜索引擎,比英文多了一项分词的任务。? 如果没有中文分词会出现: – 搜索“达内”,会出现 ...
分类:
其他好文 时间:
2019-09-04 09:35:50
阅读次数:
108
一个处理字符串查找 和xort问题的常用工具 1>最长异或路径 给定一棵n个点的带权树,结点下标从1开始到N。寻找树中找两个结点,求最长的异或路径。 异或路径指的是指两个结点之间唯一路径上的所有边权的异或。 1≤n≤100000 0≤w<2^31 题意:一颗最小生成树,带边权求 所有路径中,边权异或 ...
分类:
其他好文 时间:
2019-08-29 11:35:42
阅读次数:
84
AC自动机 AC自动机 概念 : 用于 多模式串与文本串匹配 ,也是字符串匹配算法之一。 方法就是把模板建成一个大的状态转移图,相当于 Trie树 + KMP 。 理解 : 匹配方法: 用模板串建立Trie树,给每个节点加上失配边也就是 fail标记 (用于失配后的转移,类似KMP中的next[ ] ...
分类:
其他好文 时间:
2019-08-23 22:22:56
阅读次数:
91
【题目链接】 https://loj.ac/problem/10058 【题意】 对于每一段文字,其前缀在母串上的最大匹配长度是多少呢 【参考别人的题解】 https://www.luogu.org/problemnew/solution/P5231 我们只需要先建立所有密码的trie树再以母串为主 ...
分类:
其他好文 时间:
2019-08-17 00:55:24
阅读次数:
79
字典树 = 概述 字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 光说 ...
分类:
其他好文 时间:
2019-08-14 17:16:14
阅读次数:
123
哈哈哈哈哈哈哈我终于改完这个板了啊……目前要学的字符串算法好像差不多了。 思路 其实就是在一颗Trie树上把多个字符串用类似于next数组的fail指针连成一个大的KMP。 总而言之就是让被匹配的那一长串不停地往前匹配而不退回,然后就跳来跳去的咯,原理是和KMP一样的。更好地理解fail指针和如何实 ...
分类:
其他好文 时间:
2019-08-11 10:44:25
阅读次数:
88
字典树是一种很简单的数据结构,就是将字符串存在书上,相同前缀进行压缩 模板题:http://acm.hdu.edu.cn/showproblem.php?pid=1251 ...
分类:
其他好文 时间:
2019-08-10 21:23:58
阅读次数:
89