个人网站主机选择邮件验证登录网站开发

张小明 2026/1/8 19:08:38
个人网站主机选择,邮件验证登录网站开发,乐清高端网站建设,成都网站制作售后在自然语言处理的拼写检查、生物信息学的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进行投诉反馈,一经查实,立即删除!

怎么样才能让网站外贸一般上什么网站

第一章:Shell脚本的基本语法和命令Shell脚本是Linux/Unix系统中自动化任务的核心工具,通过编写可执行的文本文件,用户能够批量处理命令、控制程序流程并简化复杂操作。脚本通常以#!/bin/bash作为首行,称为Shebang,用于…

张小明 2026/1/7 21:53:02 网站建设

怎样查询网站空间诚讯网站设计

CPUDoc智能调度:重新定义CPU性能优化策略 【免费下载链接】CPUDoc 项目地址: https://gitcode.com/gh_mirrors/cp/CPUDoc 现代计算机系统中的CPU性能调度问题已成为制约用户体验的关键因素。传统操作系统在多核处理器调度方面存在明显不足,特别是…

张小明 2026/1/7 21:53:02 网站建设

南宁著名的网站网络营销渠道

引言人是为了活着本身而活着的,而不是为了活着之外的任何事物所活着。 数据库也是如此,它本该安静地存着数据、吐着数据,而不是被业务增长的野心折腾得喘不过气来。在写项目时,一道思考题拦住了我: “随着公司业务快速…

张小明 2026/1/7 21:53:06 网站建设

网站的建设方式设计的网站源代码怎么做

题目要求是给一个字符串和一个表达式字符串,要让表达式字符串通过给定的规则,完全的匹配字符串,俩个字符串中的所有字符都要使用到对于给的这个字符串规则,有几点重要. 是必须要匹配一个字符 aa ... 是匹配不上的* 这个字符前面一…

张小明 2026/1/7 21:53:05 网站建设

网站权重是什么汕头网站建设找千素网

工作流开发:订单处理与异常管理 1. 订单处理流程概述 在订单处理流程中,首先创建了一个 Order 类并填充了一些测试数据。接着创建一个 Dictionary 对象,将 Order 对象存储在其中,然后调用 WorkflowInvoker 类的静态 Invoke() 方法,传入该 Dictionary 对象。…

张小明 2026/1/7 21:53:05 网站建设

网站关键词更新网站设计模板 英文翻译

Torchtune终极指南:快速掌握大语言模型微调技术 【免费下载链接】torchtune A Native-PyTorch Library for LLM Fine-tuning 项目地址: https://gitcode.com/GitHub_Trending/to/torchtune Torchtune是一个专为大语言模型微调设计的原生PyTorch库&#xff0c…

张小明 2026/1/7 21:53:03 网站建设