`
zy3381
  • 浏览: 155499 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

编辑距离(递归)

阅读更多
#include<stdio.h>
int dis(char *s1, int begin1, int end1, char *s2, int begin2, int end2)
{
    if(begin1>end1)
    {
        if(begin2>end2)
        {
            return 0;
        }
        else
        {
            return end2-begin2+1;
        }
    }
    if(begin2>end2)
    {
        if(begin1>end1)
        {
            return 0;
        }
        else
        {
            return end1-begin1+1;
        }
    }
    if(s1[begin1] == s2[begin2])
    {
        return dis(s1, begin1+1, end1, s2, begin2+1, end2);
    }
    else
    {
        int t1 = dis(s1, begin1+1, end1, s2, begin2, end2);
        int t2 = dis(s1, begin1, end1, s2, begin2+1, end2);
        int t3 = dis(s1, begin1+1, end1, s2, begin2+1, end2);
        t1 = t1<t2?t1:t2;
        t3 = t1<t3?t1:t3;
        return t3+1;
    }
}

void main()
{
    char s1[] = "ABC";
    char s2[] = "CBCD";
    int result = dis(s1, 0, 3, s2, 0, 4);
    printf("%d", result);
}











分享到:
评论

相关推荐

    递归解编辑距离问题源码

    设A和B是2个字符串.要用最少的字符操作将字符串A转换为字符...将字符串A变换为字符串B所用的最少字符操作数称为字符串A到B的编辑距离,记为d(A,B).试设计一个有效算法,对任给的2个字符串A和B,计算出他们的编辑距离d(A,B)

    设计一个动态规划算法求解最长公共子序列问题设计一个动态规划算法解决编辑距离问题

    求X和Y的最长公共子序列长度以及最长公共子序列 2 对于给定的字符串A和字符串B,编程计算其编辑距离d(A,B)。 随机产生20以上的字符,放入输入文件input.txt,如:X={A,B,C,B,D,A,B}和Y={B,D,C,A,B,A}。 程序运行结束...

    递归算法.zip

    常见的动态规划问题包括背包问题、最长递增子序列、编辑距离等。 贪心算法:贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法。常见的贪心算法包括最小生成树算法中的Prim算法、Dijkstra算法等。 字符...

    重叠子问题的递归最优解.zip

    常见的动态规划问题包括背包问题、最长递增子序列、编辑距离等。 贪心算法:贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法。常见的贪心算法包括最小生成树算法中的Prim算法、Dijkstra算法等。 字符...

    BK-Tree

    用于根据编辑距离(Levenshtein距离)概念执行拼写检查。 BK树也用于近似字符串匹配。基于该数据结构,可以实现许多软件中的各种自动校正特征。 BKTree算法上分两步: 1 构造 在词典里面随便找一个词作为root节点,...

    leetcode-python

    leetcode-python&labuladong的算法小抄p23动态规划详解-&gt;求最值动态规划实际上是运筹学的⼀种最优化⽅法,只不过在计算机问题上应由⽐分离,,如说让你求最⻓递增⻓序列呀,最⼩编辑距离呀等等。关键问题重叠⼦问题...

    PrinciplesOfComputing:计算机科学基础

    算法:复杂度的表示法状态机搜索和排序排列和组合随机性分而治之-(排序)贪婪算法-(图形)动态编程-(编辑距离)递归 面向对象的设计:类,成员变量,函数,作用域/生存期,数据隐藏。 继承,接口/重载 操作系统...

    leetcode双人赛-LeetcodeAlgorithm:leetcode的练习

    编辑距离 难的 字符串编辑 87 打乱字符串 难的 每次打乱都应该从左或右考虑 91 解码方式 中等的 递归将导致 TLE,使用 dp 代替。 97 交错串 难的 一旦我们得到递归,我们就可以有一个 DP 的 mem 递归。 归纳是作为...

    ACM模板和一些题目的代码实现

    代码可能包括字符串匹配(KMP/Boyer-Moore)、编辑距离、后缀数组等算法。 数据结构:组织和存储数据的方式,如数组、链表、栈、队列、树、图等。代码实现这些结构的基本操作,以支持高效的数据处理。 数论:研究...

    java猜字母游戏源码-LeetCode-Algorithm:算法学习笔记,练习代码(C++/Java/Python)

    :wrench:编辑距离问题(, ) LeetCode刷题: :party_popper: 感谢提供了Java的解题代码。 ID Title Difficulty C++ Java Python 001 Easy 002 Medium 003 Medium 004 Hard 005 Medium 006 Medium 007 Easy

    java猜数字游戏源码-Algorithms-LeetCode:我用C++、Java、Python和Go练习了一些LeetCode的算法题,也

    :wrench:编辑距离问题(, ) LeetCode刷题: :party_popper: 感谢提供了Java的解题代码。 C++、Python、Go的代码由我完成。 ID Title Difficulty C++ Java Python Go 001 Easy 002 Medium 003 Medium 004 Hard

    在线判断提升:提高编码技能

    再看代码: pass着色问题背包问题推荐阅读0-1背包完全背包回溯问题单调栈问题常见DP问题LCS编辑距离寻路问题推荐阅读特殊图的寻路一般图的寻路常见分治算法图相关算法遍历的非递归算法树的遍历图的遍历知识管理 ...

    pipeline:Pipeline是eonum产品和服务中使用的模块化机器学习库

    管道 Pipeline是eonum产品和服务中使用的模块化机器学习库。 使用模块化设计原则,可以构建...图形编辑距离 多项式内核 动态时间规整 优化 遗传算法 梯度下降 聚类 自组织地图/ Kohonen地图 高斯混合模型 K均值聚类 EM

    dynamicprogramming

    动态编程 动态编程是算法中的一个概念。 DP中有3个关键部分:1-递归2-记忆3-? 在递归问题中,首先我们创建一个基本条件,程序在该条件中停止,并创建一个递归部分。 编辑距离,最短路径或斐波那契是DP解决的问题

    javalruleetcode-Algorithm:永无止境的LeetcodeQ

    java lru ...编辑距离 动态规划 最长递增子序列 二分搜索动态规划 会议室二 最小堆 K 站内最便宜的航班 BFS 快照阵列 带二分查找的数组 序列化和反序列化二叉树 队列 设计循环队列 大批 斐波那契数 自

    algorithm:从头开始的算法实现

    :字符串上的距离(也称为编辑距离) :Knuth-Morris-Pratt和Boyer-Moore算法的比较 :一种克林德林登迈尔系统 图形 :找到图表上任意两点之间的最短路径 ML :具有朴素贝叶斯的文本分类 :在线(批量)...

    LeetCode解题总结

    3.17 一个编辑距离 4. 栈 4.1 验证括号的正确性 4.2 最长的正确括号表达式 4.3 柱状图中的最大矩形面积 4.4 计算逆波兰式的值 5. 树 5.1 二叉树的遍历 5.1.1 二叉树的前、中、后序遍历 5.1.2 二叉树的层序遍历 5.1.3...

    LevenshteinTrie:允许模糊字符串匹配的 Trie 数据结构

    您还可以搜索字符串特定编辑距离内的单词。 该算法在递归迭代 Trie 节点时记住 Levenshtein 算法。 这极大地加快了 Levenshtein 比赛的速度。 ###例子 package main import ( "bufio" "fmt" "log" "os" ...

    算法面试通关手写代码40讲 .txt

    面试题:编辑距离.mp4 50.面试题:零钱兑换.mp4 49.面试题:最长上升子序列.mp4 48.面试题:股票买卖系列.mp4 47.面试题:乘积最大子序列.mp4 46.面试题:三角形的最小路径和.mp4 45.面试题:爬楼梯.mp4 44.理论理解...

    DS_ALGO:数据结构和算法

    DS_ALGO 数据结构和算法数据结构: 数组 堆栈 s列 链表 哈希表 树木 图表 排序算法 气泡排序 选择排序 ...递归 ...编辑距离 自动换行 0-1背包 最低硬币 子集总和问题 最低成本路径 近似问题 最小顶点覆盖

Global site tag (gtag.js) - Google Analytics