
算法
狂奔之林
技术控,对很多技术都有涉猎,喜欢开源,了解新技术
走在架构师的路上
展开
-
计算两条直线的交点
/// <summary> /// 计算两条直线的交点 /// </summary> /// <param name="lineFirstStar">L1的点1坐标</param> /// <param name="lineFirstEnd">L1的点2坐标&原创 2018-10-12 09:16:25 · 5303 阅读 · 0 评论 -
取汉字拼音的首字母
class Program { static void Main(string[] args) { var data = GetCodstring("雷雷").ToUpper(); } /// <summary> /// 取汉字拼音的首字母 /// <...原创 2018-11-27 10:28:39 · 454 阅读 · 0 评论 -
o(1), o(n), o(logn), o(nlogn)
在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度, 这里进行归纳一下它们代表的含义: 这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。O(n),就代表数据量增大几倍,耗时也增大几倍。比如常见的遍...转载 2018-12-13 10:20:18 · 4853 阅读 · 0 评论 -
bsdiff差分算法
bsdiff的基本原理bsdiff是由Conlin Percival开源的一个优秀的差分算法,而且是跨平台的。在Android系统中所使用的imgdiff本质上就是bsdiff。bsdiff的依据在传统更新中,包含了复制和插入两种操作,复制指的是找到old文件中所匹配的部分,将其复制到新文件中。插入指的是将old文件中所没有的数据插入到新文件中。这种方式在二进制文件更新中并不适用,因...转载 2019-08-09 15:17:12 · 8852 阅读 · 5 评论