算法学习
文章平均质量分 66
binks_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
树状数组学习笔记
一.概述树状数组的特点,一句话就是:定点更新,区间求值。例如,数组{a}中的元素可能不断地被修改,它能够高效地获取数组中连续n个数的和。数据规模不大的时候,对于修改某点的值是非常容易的,复杂度是O(1),但是对于求一个区间的和就要扫一遍了,复杂度是O(N),如果实时的对数组进行M次修改或求和,最坏的情况下复杂度是O(M*N).而用树状数组的复杂度却是O(M*lgN),别小看这个lg,当数据规模很大的原创 2015-12-16 11:16:39 · 455 阅读 · 0 评论 -
最长公共子序列(二)
在最长公共子序列(二)原创 2016-06-04 17:31:55 · 666 阅读 · 0 评论 -
小米-风口的猪
一维动态规划 全局最优和局部最优转载 2016-05-14 22:05:37 · 457 阅读 · 0 评论 -
(笔试题)Best Time to Buy and Sell Stock III
一维动态规划 全局最优和局部最优转载 2016-05-14 22:27:27 · 229 阅读 · 0 评论 -
如何运送最多的货物(0-1背包)
题目:某快递每天能收到成千上万的物流单,每个物流单的重量不一。 一位货车司机开着货车(限载5吨,含5吨,不考虑限高),想要一次性拿走尽可能重的货物。以下是货物清单: 货物编号 货物重量(单位:kg) 1. ————-509 2. ————-838 3. ————-924 4. ————-650 5. ————-604 6. ————-793 7. ————-564原创 2015-12-09 10:13:46 · 741 阅读 · 0 评论 -
快速统计正二进制数中一个个数
题目描述:世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? public int countBitDiff(int m, int n) { int count=0; String s=Integer.toBinaryString(m^n);//异或后统计1的个数 for(int i=原创 2016-05-14 19:25:27 · 406 阅读 · 0 评论 -
guide2datamining阅读笔记(1)
推荐系统入门最近无意间看到了面向程序员的数据挖掘导论,看了第一段就感觉很简单粗暴,看了第一章,记录一下吧~ 第一章主要内容:推荐系统工作原理社会化协同过滤工作原理如何找到相似物品曼哈顿距离欧几里得距离闵可夫斯基距离皮尔逊相关系数余弦相似度使用Python实现K最邻近算法协同过滤就是根据他人的兴趣爱好来推荐,工作原理大概就是:我想要给你推荐一首歌,我会在所有有记录用户找一个最和你原创 2016-05-24 23:09:40 · 741 阅读 · 0 评论 -
Burrows-Wheeler 压缩(转换)算法(BWT)
一.什么是BWT算法?Burrows–Wheeler变换(BWT,也称作块排序压缩),是一个被应用在数据压缩技术(如bzip2)中的算法。该算法于1994年被Michael Burrows和David Wheeler在位于加利福尼亚州帕洛阿尔托的DEC系统研究中心发明。它的基础是之前Wheeler在1983年发明的一种没有公开的转换方法。当一个字符串用该算法转换时,算法只改变这个字符串中字符的顺序而原创 2015-12-22 13:04:47 · 7757 阅读 · 4 评论 -
最长公共子序列(一)
1.定义最长公共子序列,即Longest Common Subsequence,LCS。 LCS可以描述两段文字之间的“相似度”,即它们的雷同程度,从而能够用来辨别抄袭。另一方面,对一段文字进行修改之后,计算改动前后文字的最长公共子序列,将除此子序列外的部分提取出来,这种方法判断修改的部分,往往十分准确。简而言之,百度知道、百度百科都用得上。子序列:一个序列S任意删除若干个字符得到新序列T,则T原创 2016-01-07 17:10:08 · 512 阅读 · 0 评论 -
后缀数组
1. 概述后缀数组是一种解决字符串问题的有力工具。相比于后缀树,它更易于实现且占用内存更少。在实际应用中,后缀数组经常用于解决字符串有关的复杂问题。 本文大部分内容摘自参考资料[1][2]。2.后缀数组2.1 几个概念(1)后缀数组SA 是一个一维数组,它保存1..n 的某个排列SA[1],SA[2],……,SA[n],并且保证Suffix(SA[i]) < Suffix(SA[i+1]转载 2016-01-06 10:25:11 · 325 阅读 · 0 评论 -
并查集
并查集的定义并查集,望文生义,通过扩展两个词“合并”和“查找”就大致明白这个数据结构主要的用途。它是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 进行快速规整。两个主要操作:合并和查找合并合并两个不相交集合 操作很简单:先设置一个数组Father[x],表示x的“父亲”的编号。 那么,合并两个不相交集合的方法就是,找到其中一个集原创 2016-01-04 10:52:27 · 420 阅读 · 0 评论 -
字符移位
题目描述:小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗?用冒泡排序的思想,从后往前扫描。import java.util.Scanner;public class ChrTransfer { public static String transfer(String s1){ char[]原创 2016-06-05 15:47:35 · 382 阅读 · 0 评论
分享