随笔分类 -  【5】纯算法

1
摘要:参考课程: https://mooc.study.163.com/course/1000002012?_trace_c_p_k2_=71acf89eff5548528d3ffa68b0912f8f#/info https://mooc.study.163.com/course/1000005000? 阅读全文
posted @ 2019-05-15 18:35 傲衣华少 阅读(206) 评论(0) 推荐(1)
摘要:1 概念 LSM = Log Structured Merge Trees 来源于google的bigtable论文。 2 解决问题 传统的数据库如MySql采用B+树存放数据,B+树是一个随机读写的数据结构。 我们知道,顺序读写要比随机读写快无数倍,所以需要把数据结构改成顺序读写。 3 应用场景 阅读全文
posted @ 2019-04-22 11:26 傲衣华少 阅读(406) 评论(0) 推荐(0)
摘要:1 什么是布隆过滤器 本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”,或者说“判断一个元素是否存在一个集合中”,比如: 字处理软件中,需要检查一个英语单词 阅读全文
posted @ 2019-04-20 16:37 傲衣华少 阅读(2173) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/fengzhiwu/p/5524324.html /*最近在看Ethereum,其中一个重要的概念是Merkle Tree,以前从来没有听说过,所以查了些资料,学习了Merkle Tree的知识,因为接触时间不长,对Merkle Tree的理解也不是很 阅读全文
posted @ 2018-11-17 15:17 傲衣华少 阅读(375) 评论(0) 推荐(0)
摘要:1、平衡二叉树 (1)由来:平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构; (2)特点: 平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则: 非叶子节点只能允 阅读全文
posted @ 2018-09-13 13:42 傲衣华少 阅读(370) 评论(0) 推荐(0)
摘要:0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行, 阅读全文
posted @ 2018-08-10 10:49 傲衣华少 阅读(376) 评论(0) 推荐(0)
摘要:各种排序算法的时间复杂度和空间复杂度 看起来归并排序还挺不错的,时间复杂度,空间复杂度都不错。 直接选择排序 排序过程: 1 、首先在所有数据中经过 n-1次比较选出最小的数,把它与第 1个数据交换, 2、然后在其余的数据内选出排序码最小的数,与第 2个数据交换...... 依次类推,直到所有数据排 阅读全文
posted @ 2018-06-23 23:35 傲衣华少 阅读(1214) 评论(0) 推荐(0)
摘要:图例 数据结构操作 数组排序算法 图操作 堆操作 阅读全文
posted @ 2018-05-05 23:52 傲衣华少 阅读(164) 评论(0) 推荐(0)
摘要:红黑树和AVL的相同:都是平衡二叉树,所以插入删除修改查询都非常高效。 红黑树和AVL的相同:都是平衡二叉树,所以插入删除修改查询都非常高效。 红黑树和AVL的区别: 红黑树: 不是要求绝对平衡,付出的代价是要着色,查询次数可能会多一层,好处是减少旋转次数。 AVL: 要求绝对平衡,付出的代价是要计 阅读全文
posted @ 2018-04-24 17:16 傲衣华少 阅读(173) 评论(0) 推荐(0)
摘要:动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免重复计算。通常用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描述一个最优解的结构,寻找子问题,对问题进行划分。2. ... 阅读全文
posted @ 2014-04-16 12:15 傲衣华少 阅读(276) 评论(0) 推荐(0)
摘要:边学边写。 阅读全文
posted @ 2011-04-13 16:53 傲衣华少 阅读(193) 评论(0) 推荐(0)
摘要:特例:有N个台阶 一次只能走1个台阶或者2个台阶,请问有几种走法int GetNum(int N){ if(N>2) { return GetNum(N-1)+GetNum(N-2); } else if(N==2) return 2; else if(N==1) return 1; else if(N==0) return 0;}但由于递归太慢,所以用循环好些:int GetNum... 阅读全文
posted @ 2010-05-10 16:38 傲衣华少 阅读(1267) 评论(0) 推荐(0)
摘要:假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。条件是:每次拿球者至少要拿1个,但最多不能超过5个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球? 阅读全文
posted @ 2010-04-28 10:19 傲衣华少 阅读(299) 评论(0) 推荐(0)
摘要:10个箱子,每个箱子10个苹果,其中一个箱子的苹果是9两/个,其他的都是1斤/个。 要求利用一个秤,只秤一次,找出那个装9两/个的箱子。 阅读全文
posted @ 2010-04-28 10:18 傲衣华少 阅读(188) 评论(0) 推荐(0)
摘要:这种题很多。两个容器,容积是A和B,怎样弄C体积的水。解法:用A盛,倒B里,B满了,就倒掉。 最终 A盛M次,B盛N次。结果 C = AM -BN。或者是反过来 C = BN - AM也就是求正整数M、N,使得 |AM - BN| = C当然有的题目加上最多用几次就不在此列了。 阅读全文
posted @ 2010-04-28 10:02 傲衣华少 阅读(258) 评论(0) 推荐(0)
摘要:题目:有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒。回答:用二进制算法。把1000瓶水编号,每个编号写成二进制的形式,pow(2,10) = 1024 > 1000,这样每个编号就有10位。把10只小白鼠编号,从1到10,让第N号小白鼠去喝瓶子编号第N为为1的水,新定义一个十位二进制数,最终死掉的小白鼠的编号的... 阅读全文
posted @ 2010-04-28 09:46 傲衣华少 阅读(580) 评论(0) 推荐(1)
摘要:原理就是设置了一个暗密钥。 条件:原文,明密钥,暗密钥位数N 加密过程: 1,随机生成一个N位的整数作为暗密钥。 2,用明密钥和暗密钥组合起来,随便设计一个加密方法,生成密文。 3,最终密文 = 暗密钥加上面的密文; (也可以放在中间或后面) 解密过程: 1,取密文的前N位,得到暗密钥。 2,对加密过程2进行逆操作,得到明文。好处:每次加密结果不同 阅读全文
posted @ 2010-01-26 09:37 傲衣华少 阅读(747) 评论(3) 推荐(0)
摘要:一、调用API。二、设三角形为ABC 所判断点为P area表示面积函数 判断area(PAB)+area(PAC)+area(PBC)-area(ABC)与0关系 大于0 则在三角形外部 等于0 则在三角形内部三、设三角形三个点 A(a1,a2),B(b1,b2),C(c1,c2) 三条边方程 BC:fa(x,y)=0 AC:fb(x,y)=0 AB:fc(x,y)=0 以BC为例,在三角形内的... 阅读全文
posted @ 2009-12-28 09:55 傲衣华少 阅读(1009) 评论(0) 推荐(0)
摘要:给你一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的兄弟单词。现在给你一个字典,用户输入一个单词,让你根据字典找出这个单词有多少个兄弟单词。 ===================当然了,这个题目肯定是要给出最优解法了。不然就没什么难度了。所以是要建立数学模型的。下面是我给出的算法:类似于C++中定义常量的方法: 用一个足够大的十六进制数字,代表a,比如f(a)=F0... 阅读全文
posted @ 2009-12-14 20:55 傲衣华少 阅读(489) 评论(0) 推荐(1)
摘要:恐怖级算法题目一【据说是百度的面试题】 日期:2008-06-03 14:24分享/收藏给你a、b两个文件,各存放50亿条url,每条url各占用64字节,内存限制是4G,让你找出a、b文件共同的url。============================对于此题,若用算法求解,关键在于内存不够大。而解决办法,必然需要通过预处理,将文件分割。但本题的技巧,也在于文件的分割,一个合理的分割,可以... 阅读全文
posted @ 2009-12-14 20:54 傲衣华少 阅读(491) 评论(0) 推荐(0)

1