数据结构与算法
文章平均质量分 79
sweetgum2012
这个作者很懒,什么都没留下…
展开
-
BM算法
转载处:http://blog.csdn.net/v_JULY_v/article/details/6545192第二部分、BM算法1、简单的后比对算法 为了更好的理解BM算法,我分三步引入BM算法。首先看看下面的一个字符串匹配算法,它与前面的回溯法差不多,看看差别在哪儿。/*! int search_reverse(char cons转载 2015-04-11 20:56:09 · 592 阅读 · 0 评论 -
从头到尾彻底理解KMP
[置顶] 从头到尾彻底理解KMP(2014年8月22日版)分类: 01.Algorithms(研究) 02.Algorithms(后续)2011-12-05 13:05 139687人阅读 评论(298) 收藏 举报算法functionstringdelete数据结构目录(?)[+]从头到尾彻底理解KMP转载 2015-04-07 11:42:35 · 674 阅读 · 0 评论 -
分治算法
分治算法详解 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以转载 2015-05-22 09:18:16 · 540 阅读 · 0 评论 -
集合元素的排列和组合
一、集合的排列 给定一个集合S,含有n个不重复的元素,输出该集合元素的所有排列,leetcode对应题目为:http://oj.leetcode.com/problems/permutations/。打印所有排列的复杂度为O(n*n!),因为共有n!个不同的排列,打印每个排列的复杂度为O(n)。打印所有的排列一般采用深搜策略,先给出一个常规的方法:[cp转载 2015-05-24 21:02:45 · 1506 阅读 · 0 评论 -
深度优先遍历和广度优先遍历思考
原地址在说两种算法之前先说说什么叫“搜索”:可能很多人对搜索的想法有点不对,很多人认为搜索是对已知的一棵树或者是已知的图进行搜索,所以我们常常把搜索和遍历给搞混了,但是其实搜索针对的并不是已知的,这并不代表搜索不能用于已知的,搜索一般用于未知的树,或者未知的图,而我们仅仅是知道这个树或图的产生规则。这个时候才会产生深度优先搜索和广度优先搜索。然后说一下深度优转载 2015-07-03 11:38:38 · 3628 阅读 · 0 评论 -
排列与组合C++实现
字符串的排列问题描述 输入一个字符串,例如输入的字符串是ABC,则打印该字符串的全排列为ABC, ACB, BAC, BCA, CBA, CAB递归方式解决递归方式解决问题,一般是将大规模的问题转化为小规模问题,通过小规模的解一步步返回得到最终问题的解,可以通过下面的图看出递归函数的调用我们将一个字符串看成两部分组成,第一部分是第一个字符,第二部分是后面的所有字符,所以求整个字符串的排列,可以原创 2016-04-28 11:58:26 · 786 阅读 · 0 评论