CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

求一个字符串差异比较算法

楼主mademelaugh(五朝臣子(以接分为荣,以不结帖为耻))2006-03-18 11:30:04 在 .NET技术 / C# 提问

给出源字符串和目标字符串,要比较出相对于源字符串,目标字符串在哪里插入了字符,在哪里删除了字符。  
  如str1="abcde";str2="acd2ef";  
  要知道曾经删除b并插入了2和f。 问题点数:100、回复次数:8Top

1 楼independently(我是风筝高高飞)回复于 2006-03-18 12:13:09 得分 20

首先你提的需求是不够明确,我举个例子,例如源字符串是"abcdefg",目标字符串是"abcdmdeefg",这当中可能经过了几个转换:1直接在源字符串中d字符后插入mde;2、在源字符串中d字符后插入md后,再在源字符串中e字符后插入字符e。这样的话就没法实现你的要求。在检测过程中,如果遇到类似的问题,得有个优先级问题。看你怎么取舍了Top

2 楼serversql(啊初)回复于 2006-03-18 12:22:49 得分 20

循环str1,在str2查找,如果没有   就是删除掉了  
  循环str2,在str1查找,如果没有   就是添家了  
  还可以知道是哪个位置  
  不过,字符串不要太长!Top

3 楼independently(我是风筝高高飞)回复于 2006-03-18 12:28:51 得分 20

楼上的,不能那样啊,可能有很多重复的字符,不能那么草率判断的!Top

4 楼mademelaugh(五朝臣子(以接分为荣,以不结帖为耻))回复于 2006-03-18 14:01:38 得分 0

To:independently(我是风筝高高飞)    
  我不需要比较过程以及细节,只需要比较最终的差异。如果要排优先级,肯定是从前往后去尽量大的相同部分了。Top

5 楼wuyazhe(wyz&xyl)回复于 2006-03-18 14:08:43 得分 20

尝试改良kmp。每次判断主串当前剩下的字串的最大重复位置,再这之前的认为是插入或修改的部分。回头有兴趣的可以写一下。应该蛮有趣。Top

6 楼independently(我是风筝高高飞)回复于 2006-03-18 14:31:21 得分 10

恩。本来想写一个呢,可惜电脑坏啦,要到周一才能修。在用别人的电脑,没有编程工具Top

7 楼lxjlz()回复于 2006-03-18 14:33:57 得分 10

upTop

8 楼mademelaugh(五朝臣子(以接分为荣,以不结帖为耻))回复于 2006-03-20 18:20:28 得分 0

已解决,lcs问题Top

相关问题

  • 求字符串差异比较算法
  • 高分求字符串比较的算法
  • 400分给有比较好的字符串比较的算法的朋友,
  • 字符串比较
  • 比较字符串
  • 字符串比较
  • 欢迎大家讨论一下这个字符串比较算法
  • 字符串加密算法
  • 字符串倒转算法
  • 字符串比较函数

关键词

  • 字符
  • 字符串
  • 插入
  • 删除
  • 目标
  • 问题
  • str

得分解答快速导航

  • 帖主:mademelaugh
  • independently
  • serversql
  • independently
  • wuyazhe
  • independently
  • lxjlz

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo