搜索结果
查询Tags标签: DFA,共有 18条记录-
子字符串查找算法
子字符串查找算法:暴力子字符串查找算法 KMP 算法 RM 算法术语:文本:完整的字符串 模式字符串:需要在文本中查找的子串暴力子字符串查找算法 性能:在极端情况下(存在很多重复的字符),时间复杂度是 O(MN) 一般情况下(不需要完整地比对模式串),时间复杂度是 O(M …
2022/8/14 1:23:18 人评论 次浏览 -
实验一、简单的词法设计——DFA模拟程序
利用有穷确定自动机M=( K有穷状态集, Σ输入字母表, f转换函数,从状态s出发,沿着标记为a的边所能到达的状态 S,开始状态,S属于K Z,接收状态,Z是K的子集 )行为模拟程序算法,来对于任意给定的串,若属于该语言时,该过程经有限次计算后就会停止并回答“是”,若不属于…
2022/5/11 1:00:25 人评论 次浏览 -
【编译原理】DFA最小化算法
【编译原理】DFA最小化算法 DFA的定义 DFA是Determinant Finite Automata,确定性有穷自动机这个定义有几个关键点确定性,Determinant的,也就是说,对于一个串,只有一种可接受方法。(这等价于不存在符号相同的边。)有限,Finite,也就是说节点数量是有限的。数学地来说…
2022/4/8 1:19:02 人评论 次浏览 -
JAVA做敏感词统计——DFA 算法
DFA,全称 Deterministic Finite Automaton 即确定有穷自动机:从一个状态通过一系列的事件转换到另一个状态,即 state -> event -> state。确定:状态以及引起状态转换的事件都是可确定的,不存在“意外”。 有穷:状态以及事件的数量都是可穷举的详细的算法大…
2021/12/30 20:08:27 人评论 次浏览 -
JAVA做敏感词统计——DFA 算法
DFA,全称 Deterministic Finite Automaton 即确定有穷自动机:从一个状态通过一系列的事件转换到另一个状态,即 state -> event -> state。确定:状态以及引起状态转换的事件都是可确定的,不存在“意外”。 有穷:状态以及事件的数量都是可穷举的详细的算法大…
2021/12/30 20:08:27 人评论 次浏览 -
Python实现点与点、点与线的批量近邻匹配(TransBigData)
近邻匹配 Python的TransBigData包提供了点与点、点与线的近邻匹配算法,下面的案例展示如何用TransBigData包进行点与点、点与线的近邻匹配。该方法使用的是KDTree算法,可查看wiki:https://en.wikipedia.org/wiki/K-d_tree,算法复杂度为o(log(n)) 点与点匹配(DataFr…
2021/11/13 17:12:15 人评论 次浏览 -
Python实现点与点、点与线的批量近邻匹配(TransBigData)
近邻匹配 Python的TransBigData包提供了点与点、点与线的近邻匹配算法,下面的案例展示如何用TransBigData包进行点与点、点与线的近邻匹配。该方法使用的是KDTree算法,可查看wiki:https://en.wikipedia.org/wiki/K-d_tree,算法复杂度为o(log(n)) 点与点匹配(DataFr…
2021/11/13 17:12:15 人评论 次浏览 -
Java使用DFA实现敏感词过滤
目录1 Java敏感词过滤1.1 DFA简介1.2 Java实现DFA算法实现敏感词过滤1.3 具体代码实现1.3.1 设置检索库1.3.2 查询检索库1.3.3 测试检索库 1 Java敏感词过滤 敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。 1.1 DFA简介 在…
2021/11/5 17:39:54 人评论 次浏览 -
Java使用DFA实现敏感词过滤
目录1 Java敏感词过滤1.1 DFA简介1.2 Java实现DFA算法实现敏感词过滤1.3 具体代码实现1.3.1 设置检索库1.3.2 查询检索库1.3.3 测试检索库 1 Java敏感词过滤 敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。 1.1 DFA简介 在…
2021/11/5 17:39:54 人评论 次浏览 -
编译原理 笔记2 词法分析
词法分析的作用读取字符流,输出词法单元给语法分析器 在1的过程中去掉不必要的内容(空白符、注释),查错报错 与符号表交互,插入符号的相关内容 虽然词法分析和语法分析是两个独立的部分,但它们通常在同一趟为什么要独立词法分析模块化 词法分析很简单,实现也很简单 P…
2021/9/1 6:06:24 人评论 次浏览 -
编译原理 笔记2 词法分析
词法分析的作用读取字符流,输出词法单元给语法分析器 在1的过程中去掉不必要的内容(空白符、注释),查错报错 与符号表交互,插入符号的相关内容 虽然词法分析和语法分析是两个独立的部分,但它们通常在同一趟为什么要独立词法分析模块化 词法分析很简单,实现也很简单 P…
2021/9/1 6:06:24 人评论 次浏览 -
用C/C++手撕CPlus语言的集成开发环境(1)—— 语言规范 + 词法分析器
序言 之所以叫做CPlus语言,是因为原本是想起名为CMinus的,结果发现GitHub和Gitee上一堆的CMinus的编译器(想必都是开过编译原理课程并且写了个玩具级的语言编译器的大佬们吧)。但是CPlus相较于C多了一些东西,而相较于C++又少了一些东西,又有点C#的影子,而且并不严格…
2021/5/4 22:27:17 人评论 次浏览 -
实现NFA到DFA的转化(C语言)
简单记录一下,自动机课上的一个实验,用C语言实现NFA到DFA的转化,使用的是子集构造法。 子集构造法相信大家都会,直接甩代码。 先是把NFA和DAF的转移表存储在数据结构里,这里用了二维字符数组,先是定义了一个struct onechar,用来当作转移表的一格,这让我这个程序简单…
2021/5/1 10:55:32 人评论 次浏览 -
编译文法分析——正则表达式与有限自动机基础
引言:编译语言设计的精髓在于自动化过程,即如果要设计一门编程语言,那么一定要设计一个自动化系统,能够自行读入分析程序员写入的程序,将其翻译为机器能够识别的指令等信息。当然高级语言的编译不是一蹴而就的,而是通过若干步的分解、规约、转换、优化,最后得到目标…
2021/4/25 18:25:32 人评论 次浏览 -
PHP 使用lustre/php-dfa-sensitive敏感词过滤
1、扩展安装composer require lustre/php-dfa-sensitive 2、推荐的敏感词库https://codeload.github.com/jkiss/sensitive-words/zip/refs/heads/master3、使用:把下载好的词库放到项目本地直接上代码:use DfaFilter\SensitiveHelper; public static function checkSens…
2021/4/14 20:26:08 人评论 次浏览