算法
文章平均质量分 69
云涛yuntao
好记性不如烂笔头
展开
-
字符串搜索算法(二)Sunday算法
Sunday算法是Daniel M.Sunday于1990年提出的一种非常高效的字符串搜索算法。其与其他搜索算法核心思想一样,都是跳过尽可能多的字符。但是Sunday算法更容易理解,算法更简单。Sunday算法的跳跃规则是,在匹配失败时关注的是文本串中参加匹配的最末位字符的下一位字符。如果该字符没有在匹配串中出现则直接跳过,即移动步长= 匹配串长度+1;否则,同BM算法一样其移动步长=匹配串中原创 2016-04-04 13:03:41 · 932 阅读 · 0 评论 -
字符串搜索算法(一)Boyer-Moore算法
Boyer-Moore字符串搜索算法是一种非常高效的字符串搜索算法。它由Bob Boyer和J Strother Moore设计于1977年。此算法仅对搜索目标字符串(关键字)进行预处理,而非被搜索的字符串。不同于朴素模式(brute-force search)的逐个字符对比,它不需要对被搜索的字符串中的字符进行逐一比较,而会跳过其中某些部分,来提高匹配效率。原创 2016-04-04 12:52:29 · 1324 阅读 · 1 评论 -
判断回文串,判断回文数,最长回文串,回文串的个数
总结回文相关的算法题,判断是否是回文串,是否是回文数,最长回文串,回文串的个数等原创 2016-05-28 16:26:29 · 1525 阅读 · 0 评论 -
常用排序算法总结(Java)
自己平时总结的排序算法,使用JAVA编写,https://github.com/pengyuntao/Sort_Algorithms_Java原创 2016-05-15 15:58:24 · 633 阅读 · 0 评论 -
字符串的排列与组合
字符串的全排列与组合java算法原创 2016-05-28 17:18:20 · 2246 阅读 · 0 评论 -
SimpleArrayMap源码分析
由于在移动端内存与CPU都是很宝贵的资源。在Android中可以使用SimpleArrayMap来代替HashMap实现Map的功能,SimpleArrayMap内部使用了两个数组,一个是Hash数组mHashes,另一个是2倍大小的Object数组mArray。Object数组中使用key+value间隔存取的方式;另外Hash数组,则是对应的 Key 的Hash值数组,并且这是一个递增的int数组,这样在进行Ke原创 2017-06-05 20:27:54 · 1983 阅读 · 0 评论 -
牛顿迭代与二分查找开平方
牛顿迭代不要被牛顿的大名唬住,牛顿迭代其实就是一种求近似解的方法。求解过程就是对曲线做切线,然后在切线与x轴交点,然后在这个点做x轴垂线,垂线到曲线交点继续做切线,一直重复上述步骤。然后切线与曲线交点就会慢慢的趋近于X轴与曲线交点。x轴与曲线交点就是曲线方程的根,但是直线方程的跟比较好计算,计算出最近的直线方程根,约等于曲线的根。大概做曲线切线的过程如下公式推到过程假设曲线f(x)...原创 2018-03-29 17:38:55 · 1056 阅读 · 0 评论