美文网首页
高效变位词查找

高效变位词查找

作者: Vision_Zhao | 来源:发表于2017-02-20 00:21 被阅读0次

       变位词指的是一个单词经过改编字母顺序之后得到的另一个单词。在变位过程中不可以移除任何字母。

        在一个数组或集合中查找指定字符串的变位词,最简单粗暴的方式就是遍历数组中的元素,每一次对比字符串两个字符串的元素是否相同。这样做是可以实现但效率非常低。对于长度为m的列表,且单词平均长度为n,算法对每个单词需要扫描n次,每次检查一个字母。算法的复杂度为O(m*n!),n越大复杂度会呈几何倍的增长。

         简单的算法就是根据单词签名来判断。

         将单词的所有字母按照字母顺序排序得到的字母序列就是这个每一个单词的签名,每个单词都可以有一个算法签名,给定单词的所有变位词都会有一个相同的签名

相关文章

  • 高效变位词查找

    变位词指的是一个单词经过改编字母顺序之后得到的另一个单词。在变位过程中不可以移除任何字母。 在一个数...

  • 剑指 Offer II 032. 有效的变位词

    注意“a” 和 “a” 不是变位词= =。。

  • “变位词”问题

    “变位词”问题 问题描述 变位词是指两个词存在组成字母的重新排列问题。例如:heart 和 earth、pytho...

  • 变位词问题

    "变位词"判断问题 问题描述 所谓变位词是指两个词之间存在组成字母的重新排列关系 如:heart和earth,py...

  • 变位词的几种解法与时间复杂度

    变位词 问题描述 所谓“变位词”是指两个词之间存在组成字母的 重新排列关系如:heart和earth,python...

  • 第二章习题

    2.6.1 考虑查找给定输入单词的所有变位词问题。仅给定单词和字典的情况下,如何解决该问题?如果有一些时间和空间可...

  • 1.【Java/Python】判断字符串是否为变位词

    【题目】 写一个函数判断两个字符串是否是变位词。 【分析】 变位词(anagrams)指的是组成两个单词的字符相同...

  • 变位词回溯算法

  • ggplot2 画个基因结构示意图

    画个简单的基因结构示意图,示意突变位点所在位置。首先查找某个基因的所有外显子的起始位置,对应数据xx。再给出突变位...

  • Swift-变位词判断

    题目:如果两个单词的组成字母完全相同,只是字母的排列顺序不一样,则它们就是变位词,两个单词相同也被认为是变位词。如...

网友评论

      本文标题:高效变位词查找

      本文链接:https://www.haomeiwen.com/subject/xptrwttx.html