最近javaeye的python板块实在是太不活跃了,发一个有意思的开源程序,给大家玩玩,这个程序代码是后缀树,一般用于autoComplete,还不知到的同学赶紧来看看吧 :)
开源地址:https://github.com/edisonlz/suffixTree_ch
o SuffixTree.SuffixTree -- The suffix tree structure. This is a
thin wrapper around strmat's stree data structure. This isn't a
complete wrapper yet; I need to find some time to complete this.
The wrapper appears to be good enough for simple stuff.
Methods of SuffixTree:
o SuffixTree(alphabet=STREE_ASCII)
Construct a new SuffixTree. By default, the alphabet
used by the SuffixTree is ASCII. Other choices include
STREE_DNA, STREE_RNA, and STREE_PROTEIN.
o add(string, id)
Adds a string to the suffix tree with an id.
o root()
Returns the root() SuffixNode of the tree.
o num_nodes():
Returns the total number of nodes held in the tree.
o match(string)
Given a string, traverse the suffix tree and return a
3-tuple (match_length, suffix_node, endpos)
o SuffixTree.SuffixNode (I need to fix the documentation here)
Methods of
num_children()
find_child(char ch)
children()
next()
parent()
suffix_link()
edgelen()
edgestr()
getch()
labellen()
labelstr()
ident()
num_leaves()
leaf(int leafnum)
o SuffixTree.SubstringDict -- An application of suffix trees toward
substring matching. An example might help:
>>> #coding=utf-8
>>> from SuffixTree import SubstringDict
>>> sd = SubstringDict()
>>> sd.__setitem__("我是python程序员",1)
>>> sd.__setitem__("我是ruby程序员",2)
>>> sd.__setitem__("我是javascript程序员",3)
>>> sd.__setitem__("我是android程序员",4)
>>> sd.__setitem__("我还是DBA",4)
>>> print sd[“我是”]
>>> print sd[“我还是”]
>>> sd = SubstringDict()
>>> sd["我是python程序员"] = 1
>>> sd["我是ruby程序员"] = 2
>>> sd["我是javascript程序员"] = 3
>>> sd["我是android程序员"] = 4
>>> sd["我还是DBA"] = 5
>>> print sd[“我还是”]
SubstringDict provides a mapping that allows for substrings of
keys. The keys do need to be strings though.
支持中文的方式是使用 base64,数据量回增加30%,对性能回有些损耗,但是,损耗不大
64 位 安装 :
ARCHFLAGS="-arch i386 -arch x86_64" python setup.py installPython SuffixTree (后缀树)中文
分享到:
相关推荐
资源分类:Python库 所属语言:Python 资源全名:wagtail_autocomplete-0.1.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
它通常基于一种叫做Trie(字典树)的数据结构,或者是更高效的后缀树或AC自动机。当用户输入每个字符时,系统会在预先构建的词库中查找以这些字符开头的所有可能的词汇,然后把这些词汇展示给用户作为补全选项。在...
本文将深入探讨“autocomplete_trie-0.1.tar.gz”这个Python库,它是一个专为实现自动补全功能的字典树结构。 标题中的“Python库 | autocomplete_trie-0.1.tar.gz”揭示了我们要讨论的主题是一个名为...
《PyPI官网下载:labml_python_autocomplete-0.0.7.tar.gz——探索Python库的自动化补全功能》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python开发者提供了海量的第三方库,方便大家在...
Autocomplete
jquery-autocomplete搜索框自动完成的中文文档,上手快,轻便,功能强大
对于支持中文,我们需要处理的是汉字字符集,这与英文字符处理有所不同。在C#或PHP中,可以使用Unicode编码来处理中文字符,确保程序能够正确识别和处理中文。 在C#中,可以利用`System.Windows.Forms....
《Python自动补全工具:autocomplete-plus-python-jedi与Atom.io集成》 在现代软件开发中,代码编辑器的智能提示和自动补全功能是提高效率的关键要素之一。Atom.io是一款广受欢迎的开源文本编辑器,它支持丰富的...
用java实现autocomplete搜索功能,可以获取除输入框的其它动态参数,后台字符串拼接,返回json数据,格式如下: { query:'Li', suggestions:['Liberia', 'Libyan Arab Jamahiriya', 'Liechtenstein', 'Lithuania'...
《jQuery Autocomplete 全面解析》 jQuery Autocomplete 是一个非常实用的插件,它为网页表单输入框提供了自动补全功能,极大地提升了用户体验。这个压缩包“jquery autocomplete下载.rar”包含了实现这一功能所需...
《jQuery.Autocomplete 中文支持》 jQuery.Autocomplete 是一款广泛使用的 jQuery 插件,它为网页中的输入框提供了自动完成(autocomplete)和建议提示(input suggest)功能。这款插件通过 AJAX 方式动态加载数据...
我们开始研究玩具项目,以了解简单的LSTM模型可以很好地自动完成python代码。 通过在大多数文件中节省30%以上的击键,而在某些文件中节省近50%的击键,可以提供相当不错的结果。 我们通过做出一个(最佳)预测...
- 搜索算法优化:对于大量的数据源,可以考虑使用模糊匹配算法,如Levenshtein距离或Trie树结构,提高搜索效率。 - 响应式设计:确保Autocomplete在不同设备和屏幕尺寸上都能良好运行,可能需要调整布局和提示框的...
总的来说,掌握Bootstrap Autocomplete涉及的知识点包括前端基础、Bootstrap框架、jQuery操作、数据处理、模糊查询算法、事件监听、样式定制、响应式设计、性能优化以及测试方法。这些知识点的综合运用,将帮助...
**jQuery Autocomplete 知识详解** jQuery Autocomplete 是一个非常流行的 jQuery 插件,它为输入框提供了自动补全的功能,极大地提升了用户在网站上的交互体验。这个插件源自于 jQuery UI 库,但也可以单独使用。...
此外,对于中文排序和匹配,可能需要自定义匹配算法,以确保中文字符的正确比较。 ### 4. 结合JSON数据源 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析...
在IT行业中,实现自动完成功能通常涉及数据结构(如字典树、Trie树、AC自动机等)和算法(如动态规划、前缀匹配等)。 描述中提到了一个博客链接,虽然具体内容未给出,但可以推测该博客可能详细讨论了如何实现一个...
如果是源代码,它可能用C++, JavaScript, Python或其他编程语言编写,用于实现自动补全算法。如果是配置文件夹,里面可能包含设置参数,用于定制自动补全的行为,比如触发补全的字符数、候选结果的数量等。 自动...
在layui中,"autocomplete"是一款自动填充插件,常用于输入框,提供智能提示功能,提高用户输入效率。这款插件适用于各种需要自动补全场景,如搜索框、表单填写等。 在layui的autocomplete插件中,主要涉及以下知识...