`
yuhai.china
  • 浏览: 160163 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单树匹配

J# 
阅读更多
这是一种判断两棵DOM树匹配程度的方法,返回的是两棵树有相同标签节点的最大数目

def TreeMatch(A,B):
    med=[0,-1,-1]
    if A.tag!=B.tag:return med
    m=len(A.getchildren())
    n=len(B.getchildren())
    maxl=max(m,n)
    M=[[0 for x in range(n+1)]for y in range(m+1)]
    W=[[0 for x in range(n+1)]for y in range(m+1)]
    
    for i in range(1,m+1):
        for j in range(1,n+1):
            if W[i][j]<=0:
                alist=A.getchildren()
                blist=B.getchildren()
                relist=TreeMatch(alist[i-1],blist[j-1])
                W[i][j]=relist[0]
            M[i][j]=max(M[i-1][j],M[i][j-1],M[i-1][j-1]+W[i][j])
    tmp=M[m][n]  
   
    med[0]=tmp+1
    for i in range(1,m+1):
        for j in range(1,n+1):
            if M[i][j]==tmp:
                med[1]=i
                med[2]=j
                break
            
    return med
分享到:
评论

相关推荐

    基于C++字典树的简单脏词匹配替换类

    【作品名称】:基于C++字典树的简单脏词匹配替换类 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 基于C++字典树的...

    3-1+深度树匹配召回体系演进.pdf

    总的来说,深度树匹配召回体系的演进是从简单的协同过滤到基于Embedding的一段式检索,再到结合树结构和深度学习的高效检索策略。这一过程不仅提升了检索效率,还增强了模型的表达能力,使得在海量数据中精准召回...

    电信设备-基于不变矩空间信息的简单树动态规划的双目立体匹配方法.zip

    本文将详细讲解基于不变矩空间信息的简单树动态规划双目立体匹配方法。 首先,不变矩是一种描述图像形状特征的数学工具,它不受图像平移、旋转或缩放的影响。常见的不变矩包括Hu矩,它们能够对图像的对称性、旋转性...

    Go-一个简单而快速的Go库用于将输入字符串模糊匹配到目标字符串列表

    标题中的“Go-一个简单而快速的Go库用于将输入字符串模糊匹配到目标字符串列表”表明,这是一个基于Go语言开发的库,其主要功能是实现输入字符串与一系列目标字符串之间的模糊匹配。在文本处理领域,模糊匹配是一种...

    ACAuto自动机 多模式匹配 多字符串匹配

    AC自动机算法的实现。...要搞懂AC自动机,先得有模式树(字典树)Trie和KMP模式匹配算法的基础知识。AC自动机算法分为3步:构造一棵Trie树,构造失败指针和模式匹配过程。本资源简单实现了这些功能。

    中文分词_最大匹配法

    虽然最大匹配法简单易懂,但在处理复杂的语言现象如歧义、未登录词时,可能会有局限性。因此,实际应用中常常会结合其他方法,如正向最大匹配和逆向最大匹配的组合,或者使用更加复杂的方法如隐马尔科夫模型(HMM)...

    AC-BM 多模式匹配算法

    3. 在存在大量模式串的情况下,其效率远高于简单的逐个模式串匹配。 **学习资源**: 你提到的压缩包可能包含有关AC-BM算法的详细教程、代码实现或其他相关资料。对于想要深入了解AC-BM算法的人来说,这些资源将非常...

    基于块匹配的全景图像拼接,基于块匹配的全景图像拼接PPT课件,matlab

    4. **匹配搜索**:在参考图像上搜索与源图像块最相似的块,这可以通过滑动窗口或者使用快速算法如Bresenham线扫描、KD树等进行优化。 5. **匹配确认**:为了避免误匹配,通常会设置阈值,只有当相似度超过阈值时,...

    1关于简单目标识别与意图分析的机器学习实战研究(模板匹配)1

    本文将深入探讨如何利用机器学习技术,特别是模板匹配方法,来解决简单目标识别与意图分析的问题。我们将通过一个军事实例,即基于无人机或卫星图像分析敌军坦克集团的作战意图,来阐述这一过程。 首先,我们需要...

    使用FLANN进行特征点匹配

    以下是一个简单的步骤概述: 1. **特征点检测**:对输入图像使用OpenCV的特征检测函数(如`cv::SIFT::detect`)获取特征点。 2. **描述符提取**:在检测到的特征点上,使用`cv::SIFT::compute`函数计算相应的描述...

    行业分类-设备装置-基于树分解的非标准模板图像匹配方法.zip

    非标准模板指的是那些形状不规则、边界模糊或者具有复杂结构的目标,它们无法用简单的几何形状来描述,因此匹配难度相对较大。 基于树分解的方法是一种优化策略,它将复杂的图像匹配任务分解为一系列更小、更易于...

    行业分类-设备装置-一种基于聚合词树的敏感词匹配处理系统及方法.zip

    4. **词树匹配**:遍历文本中的每个词,通过词树进行查找,如果能在树中找到完整的敏感词路径,就认为存在敏感词。 5. **结果处理**:匹配到敏感词后,根据系统需求,可以采取警告、替换、删除等操作。 这种方法的...

    JavaScript正则表达式匹配 div style标签

    下面是一个简单的JavaScript示例代码,展示如何使用正则表达式匹配`&lt;div&gt;`和`&lt;style&gt;`标签: ```javascript // 示例字符串,包含div和style标签 var htmlString = '&lt;div&gt;这是一个div标签的内容。这是style标签中的...

    智能匹配的JS源代码

    在"智能匹配JS"压缩包中,可能包含的源代码示例可能演示了如何创建一个简单的智能匹配对话框。这些代码可能分为以下几个关键部分: 1. **数据存储**:首先,需要一个数据结构(如数组或对象)来存储待匹配的数据。...

    完整的自动匹配代码

    例如,KMP算法适用于简单字符串匹配,而Boyer-Moore算法在处理长模式字符串时效率更高。 3. **数据结构**:数据结构的选择对性能有很大影响。例如,如果数据量大,可以使用Trie树或后缀数组进行高效查找。Trie树...

    前向最大匹配中文分词

    在这个程序中,"简单的词典"可能指的是一个包含常见汉字词汇的列表或数据库,用于对比输入文本并进行匹配。 分词过程分为以下几个步骤: 1. **预处理**:对输入的中文文本进行预处理,如去除标点符号、数字等非...

    一个下拉自动匹配的控件

    4. **性能优化**:如果下拉列表中的选项非常多,匹配过程可能会消耗大量计算资源,因此需要对算法进行优化,如使用前缀树(Trie Tree)或者缓存最近使用的查询结果,以减少计算量。 5. **UI反馈**:匹配成功后,...

    字符串的多模式匹配算法

    Aho-Corasick算法由Aho和Corasick在1975年提出,它巧妙地利用了前缀树(也称为字典树或Trie树)的数据结构,大大提高了多模式匹配的效率。以下是Aho-Corasick算法的主要步骤: 1. **构建自动机**: 首先,我们需要...

    PDF电子书《柔性字符串匹配》

    这个问题看似简单,但在实际应用中却非常复杂,因为需要考虑的因素众多,比如字符串的长度、模式串的长度以及匹配的准确度等。 #### 1.2 应用场景 - **文本检索**:在大量文档中搜索特定的关键词。 - **生物信息学*...

    一种改进的基于树路径匹配的网页结构相似度算法 (2012年)

    - **简单树匹配算法**:该方法相对于树编辑距离而言,更加关注网页的层次性和系统性,但在匹配过程中对树结构的节点数量和顺序有着较为严格的要求。 - **基于BFS树的XML文档图结构相似性计算**:通过广度优先搜索...

Global site tag (gtag.js) - Google Analytics