DFA和trie字典树实现敏感词过滤(python和c语言)

本文介绍了如何使用Python和C语言实现敏感词过滤,重点探讨了DFA算法与Trie字典树的数据结构。在Python中,由于未能找到合适的C扩展模块,作者选择了纯Python实现,尽管性能可能稍逊,但依然能满足需求。同时,文章对比了C语言实现的高效与节省空间的特点。
摘要由CSDN通过智能技术生成

现在做的项目都是用python开发,需要用做关键词检查,过滤关键词,之前用c语言做过这样的事情,用字典树,蛮高效的,内存小,检查快。

到了python上,第一想法是在pip上找一个基于c语言的python字典树模块,可惜没找到合适的,如果我会用c写python模块的话,我就自己写一个了,可惜我还不具备这个能力,

只能用python写了,性能差一点就差点吧,内存多一点也无所谓了。


用搜索引擎看CSDN上的网友的用python实现的DFA,再参照自己以前用c语言写过的字典树,有些不大对,就自己写了一个。想象一下如果用C语言是会非常高效,而且空间也特别小。

 某位网友的:DFA 算法实现敏感词过滤(python 实现)


下面是python代码:

class cNode(object):
	def __init__(self):
		self.children = None
		
# The encode of word is UTF-8
# The encode of message is UTF-8
class cDfa(object):
	def __init__(self,lWords):
		self.root=None
		self.root=cNode()
		for sWord in lWords:
			self.addWord(sWord)

	# The 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值