九度互联网站推广公司西安的商城网站设计

张小明 2026/1/19 17:30:36
九度互联网站推广公司,西安的商城网站设计,怎么把自己的网站上传到百度,网站方案案例怎么做在自然语言处理的拼写检查、生物信息学的DNA序列相似度比对等场景中#xff0c;最小编辑距离是衡量两个字符串差异程度的核心指标。它表示将一个字符串通过插入、删除、替换单个字符的操作#xff0c;转换成另一个字符串所需的最少操作次数。本文将基于动态规划思想#xff…在自然语言处理的拼写检查、生物信息学的DNA序列相似度比对等场景中最小编辑距离是衡量两个字符串差异程度的核心指标。它表示将一个字符串通过插入、删除、替换单个字符的操作转换成另一个字符串所需的最少操作次数。本文将基于动态规划思想采用静态二维数组实现DP表的方式详细讲解最小编辑距离问题的求解过程并附上完整可运行的C代码。一、最小编辑距离的动态规划思路1. 状态定义设两个字符串分别为 word1 长度为 m 和 word2 长度为 n 定义 dp[i][j] 表示将 word1 的前 i 个字符转换成 word2 的前 j 个字符所需的最小编辑次数。2. 边界初始化- 当 i0 时 word1 为空字符串转换成 word2 的前 j 个字符需要j次插入操作即 dp[0][j] j 。- 当 j0 时 word2 为空字符串转换成 word1 的前 i 个字符需要i次删除操作即 dp[i][0] i 。3. 状态转移方程对于 word1[i-1] 和 word2[j-1] 字符串下标从0开始DP表下标从1开始- 若 word1[i-1] word2[j-1] 无需任何操作 dp[i][j] dp[i-1][j-1] 。- 若 word1[i-1] ! word2[j-1] 取删除 dp[i-1][j] 、插入 dp[i][j-1] 、替换 dp[i-1][j-1] 三种操作的最小次数再加1次当前操作即 dp[i][j] min(min(dp[i-1][j], dp[i][j-1]), dp[i-1][j-1]) 1 。二、静态二维数组实现代码采用静态二维数组实现DP表需提前定义数组的最大长度如 MAX_LEN 适用于字符串长度固定且已知的场景内存分配更高效。cpp#include iostream#include string#include algorithmusing namespace std;// 定义字符串的最大长度可根据实际需求调整const int MAX_LEN 1000;// 动态规划求解最小编辑距离静态二维数组实现DP表int dpEditDistance(string word1, string word2) {int m word1.size(), n word2.size();// 静态二维数组作为DP表存储子问题的解int dp[MAX_LEN 1][MAX_LEN 1];// 初始化边界word1为空时插入j个字符得到word2前j个字符for (int i 0; i m; i) dp[i][0] i;// 初始化边界word2为空时删除i个字符得到word1前i个字符for (int j 0; j n; j) dp[0][j] j;// 填充DP表求解所有子问题for (int i 1; i m; i) {for (int j 1; j n; j) {if (word1[i - 1] word2[j - 1]) {// 字符相等无需操作继承子问题解dp[i][j] dp[i - 1][j - 1];} else {// 字符不等取删除、插入、替换的最小操作数1dp[i][j] min(min(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1]) 1;}}}// dp[m][n]即为整个问题的解return dp[m][n];}// 测试示例int main() {string word1 kitten;string word2 sitting;cout 最小编辑距离 dpEditDistance(word1, word2) endl;// 输出结果3kitten→sitten→sittin→sitting共3次操作word1 intention;word2 execution;cout 最小编辑距离 dpEditDistance(word1, word2) endl;// 输出结果5return 0;}三、代码解析与测试结果1. 静态数组优势静态二维数组在栈上分配内存访问速度比动态分配的二维数组/vector更快适合字符串长度可控的场景。2. 时间复杂度两层循环遍历 m*n 个状态时间复杂度为O(mn)。3. 空间复杂度静态二维数组占用(MAX_LEN1) \times (MAX_LEN1)的空间空间复杂度为O(MAX\_LEN^2)。4. 测试结果- 字符串 kitten 和 sitting 的最小编辑距离为3- 字符串 intention 和 execution 的最小编辑距离为5与理论结果一致。四、方法优劣分析优点- 实现简单直观静态数组的内存访问效率高- DP表完整存储了所有子问题的解可回溯查看具体的编辑操作路径。缺点- 静态数组的最大长度需提前定义灵活性不足若字符串长度超过 MAX_LEN 会导致数组越界- 空间开销固定即使处理短字符串也会占用 MAX_LEN^2 的内存。五、拓展方向若需要优化空间复杂度可将二维DP表压缩为一维数组仅保留当前行和上一行将空间复杂度降至O(min(m,n))若需处理超长字符串可改用动态二维数组或 vector 实现避免静态数组的长度限制。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

一屏式网站有什么好处wordpress蒲公英代码

α-Bungarotoxin, AF647,α-博格毒素-AF647标记物,荧光信号检测方法 中文名称:α-博格毒素-AF647标记物 概述: α-Bungarotoxin, AF647是一种经过荧光染料标记的α-博格毒素衍生物,其中使用AF647(一种长波…

张小明 2026/1/17 19:24:03 网站建设

平面设计师灵感网站电商平台开网店

C4D新手必知的5个实用技巧?别被标题骗了,这才是你真正需要的AI模型训练秘籍 在AI创作圈混了这么久,你有没有发现一个奇怪的现象? 搜“C4D建模教程”,跳出来的全是Stable Diffusion; 搜“LoRA怎么训”&…

张小明 2026/1/17 19:24:04 网站建设

买网站服务器吗wordpress公告 通知栏插件

Miniconda-Python3.9环境下生成Markdown报告 在数据科学和AI研发日益普及的今天,一个常见的痛点浮出水面:为什么同样的代码,在同事的机器上运行完美,到了自己环境却频频报错?更令人困扰的是,撰写技术报告时…

张小明 2026/1/17 19:24:06 网站建设

企业网站 cms校园活动策划

腾讯开源SongGeneration:用AI技术让每个人都能创作专业级音乐 【免费下载链接】SongGeneration 腾讯开源SongGeneration项目,基于LeVo架构实现高品质AI歌曲生成。它采用混合音轨与双轨并行建模技术,既能融合人声与伴奏达到和谐统一&#xff0…

张小明 2026/1/17 19:24:08 网站建设

机械建设网站制作模拟人生4做游戏下载网站

中国大学MOOC课件离线下载完整教程:告别网络限制的学习利器 【免费下载链接】mooc-dl :man_student: 中国大学MOOC全课件(视频、文档、附件)下载器 项目地址: https://gitcode.com/gh_mirrors/mo/mooc-dl 还在为网络波动无法观看MOOC课…

张小明 2026/1/17 19:24:07 网站建设

河南自助建站seo公司做电商网站价钱

你是否也遇到过这样的情况?😊 看到喜欢的在线视频想保存下来,却发现网站没有提供下载按钮;想要收藏精彩的音乐片段,却不知道如何获取源文件;或者想在手机和电脑间快速传输资源,却找不到便捷的方…

张小明 2026/1/17 19:24:09 网站建设