2016年5月1日

编辑距离

摘要: 编辑距离问题: 给定两个字符串,对两个字符串进行增删改操作,使用最少的次数使得两个字符串相同,使用的最少次数即为编辑距离。 程序实现: 运行结果: 转载请注明出处: C++博客园:godfrey_88 http://www.cnblogs.com/gaobaoru-articles/ 阅读全文

posted @ 2016-05-01 18:15 Brainer-Gao 阅读(164) 评论(0) 推荐(0) 编辑

字符串的全排列

摘要: 字符串的全排列问题: 给定字符串S[0...N-1],设计算法,枚举字符串的全排列。 1、无重复字符串全排列非递归算法 程序实现: 运行结果: 说明:在每次递归前需要保证字符串的顺序不变,因此有每次的替换过程。 2、有重复字符串队规算法 程序实现: 运行结果: 说明:本算法时间复杂度能达到O((n+ 阅读全文

posted @ 2016-05-01 16:57 Brainer-Gao 阅读(324) 评论(0) 推荐(0) 编辑

最长公共子序列

摘要: 最长公共子序列: 求两个序列中最长的公共子序列算法,要区别于最长公共子串(其要求连续)。 如:字符串acdfg与adfc的最长公共子序列为adf。 假设c(i,j)记录序列Xi和Yj的最长公共子序列的长度,满足下列公式: 程序实现: 运行结果: 说明:事实上,两个字符串可能存在多个子序列长度相同并且 阅读全文

posted @ 2016-05-01 15:24 Brainer-Gao 阅读(254) 评论(0) 推荐(0) 编辑

字符串循环左移

摘要: 字符串循环左移: 给定一个字符串,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a','b'移动到字符串的尾部,得到新字符"cdefab",即字符串循环左移k位。 程序实现: 运行结果: 转载请注明出处: C++博客园:godfrey_88 http://www.cn 阅读全文

posted @ 2016-05-01 14:33 Brainer-Gao 阅读(289) 评论(0) 推荐(0) 编辑

哈希表实现

摘要: 哈希表实现: 使用BKDRHash作为基础的哈希函数,同时使用拉链法作为冲突处理方法,实现哈希表的插入和查找操作。 哈希函数BKDRHash实现如下: 处理冲突的方法有拉链法,开放定址和再哈希法。各种冲突方法如何实现,可以自行查资料进行学习,这里不做详细介绍。另附一张图,说明拉链法(说明版权:来源小 阅读全文

posted @ 2016-05-01 12:20 Brainer-Gao 阅读(186) 评论(0) 推荐(0) 编辑

导航