随笔分类 -  数据结构&算法

摘要:出处:快速排序——JAVA实现(图文并茂) 高快省的排序算法 有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓 阅读全文
posted @ 2020-06-01 19:01 myseries 阅读(360) 评论(0) 推荐(0) 编辑
摘要:出处: 那些惊艳的算法们(三)—— 时间轮 从定时任务说起 自然界中定时任务无处不在,太阳每天东升西落,候鸟的迁徙,树木的年轮,人们每天按时上班,每个月按时发工资、交房租,四季轮换,潮涨潮落,等等,从某种意义上说,都可以认为是定时任务。大概很少有人想过,这些“定时”是怎样做到的。当然,计算机领域的同 阅读全文
posted @ 2020-04-30 17:22 myseries 阅读(5522) 评论(1) 推荐(1) 编辑
摘要:出处: Java代码实现负载均衡五种算法 前言: 负载均衡是为了解决并发情况下,多个请求访问,把请求通过提前约定好的规则转发给各个server。其中有好几个种经典的算法。在用java代码编写这几种算法之前,先来了解一下负载均衡这个概念。 1.概念 负载,从字面意思可以分析,是指后端server可以承 阅读全文
posted @ 2020-04-09 22:24 myseries 阅读(4674) 评论(0) 推荐(1) 编辑
摘要:1、MD算法的基的概念 MD5算法是典型的消息摘要算法,其前身有MD2、MD3和MD4算法,它由MD4、MD3和MD2算法改进而来。不论是哪一种MD算法,它们都需 要获得一个随机长度的信息并产生一个128位的信息摘要。如果将这个128位的二进制摘要信息换算成十六进制,可以得到一个32位的字符串,故我 阅读全文
posted @ 2019-09-24 21:21 myseries 阅读(26232) 评论(0) 推荐(2) 编辑
摘要:什么是跳跃表? SkipList在leveldb、redis以及lucence中都广为使用,是比较高效的数据结构。由于它的代码以及原理实现的简单性,更为人们所接受。我们首先看看SkipList的定义,为什么叫跳跃表? “ Skip lists are data structures that use 阅读全文
posted @ 2019-09-01 14:57 myseries 阅读(632) 评论(0) 推荐(0) 编辑
摘要:为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的? 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上? 如何设计可以动态扩 阅读全文
posted @ 2019-06-01 12:02 myseries 阅读(340) 评论(0) 推荐(0) 编辑
摘要:目录 1、redis cluster介绍 2、最老土的hash算法和弊端(大量缓存重建) 3、一致性hash算法(自动缓存迁移)+虚拟节点(自动负载均衡) 不用遍历 --》 hash算法: 缓存位置= hash(key)%n 新增/减少 节点 --》缓存位置失效--》hash环 hash环 节点少- 阅读全文
posted @ 2019-06-01 11:44 myseries 阅读(7751) 评论(0) 推荐(2) 编辑
摘要:一致性Hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义: 1、平衡性(Balance):平衡性是指哈希的结果能够尽可能分布在所有的缓冲(Cache)中去,这样可以使得所有的缓冲空间得到利用。很多哈希算法都能够满足这一条件。 2、单调性(Monotonicity):单调性是指 阅读全文
posted @ 2019-05-31 18:20 myseries 阅读(5037) 评论(0) 推荐(0) 编辑
摘要:可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助。 为了兼顾初学者,我会从最简单的题讲起! 递归的 阅读全文
posted @ 2019-05-13 14:45 myseries 阅读(1104) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、基本概念 字典树,又称为单词查找树,Tire数,是一种树形结构,它是一种哈希树的变种。 2、基本性质 根节点不包含字符,除根节点外的每一个子节点都包含一个字符 从根节点到某一节点。路径上经过的字符连接起来,就是该节点对应的字符串 每个节点的所有子节点包含的字符都不相同 3、应用场景 典 阅读全文
posted @ 2019-05-08 16:05 myseries 阅读(814) 评论(0) 推荐(0) 编辑
摘要:介绍: 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 应用例子: 网页URL的去重; 垃圾邮件 阅读全文
posted @ 2019-05-02 15:46 myseries 阅读(6522) 评论(0) 推荐(1) 编辑
摘要:出处:https://mp.weixin.qq.com/s/uYPnZ0MsQIT2_t3lk8ju1g 问题 小E最近在设计一款斗地主小游戏,为了保证发到玩家手中的牌具有随机性,小E必须对现实世界中的洗牌过程进行模拟。看似简单的一个问题,却难住了小E。 于是,小E向老师请教。 思路 点评:上面即为 阅读全文
posted @ 2019-04-17 10:41 myseries 阅读(10539) 评论(1) 推荐(8) 编辑
摘要:出处:https://www.jianshu.com/p/86a1fd2d7406 写在前面,好像不同的教材对b树,b-树的定义不一样。我就不纠结这个到底是叫b-树还是b-树了。 如图所示,区别有以下两点: B+树中只有叶子节点会带有指向记录的指针,而B树则所有节点都带有,在内部节点出现的索引项不会 阅读全文
posted @ 2019-04-06 20:05 myseries 阅读(19654) 评论(2) 推荐(9) 编辑
摘要:什么是MD5算法 MD5讯息摘要演算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码杂凑函数,可以产生出一个128位元(16位元组)的散列值(hash value),用于确保信息传输完整一致。 实质上,MD5 只是一种哈希算法 哈希算法,即 hash,又叫散 阅读全文
posted @ 2019-01-31 21:43 myseries 阅读(2150) 评论(0) 推荐(0) 编辑
摘要:对称加密算法 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。 对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。 对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方 阅读全文
posted @ 2018-03-26 22:47 myseries 阅读(2000) 评论(0) 推荐(0) 编辑
摘要:题:有一个单向链表,链表当中有可能出现“环”,就像下图这样。如何用程序判断出这个链表是有环链表? 解决方法:首先创建两个指针1和2(在java里就是两个对象引用),同时指向这个链表的头节点。然后开始一个大循环,在循环体中,让指针1每次向下移动一个节点,让指针2每次向下移动两个节点,然后比较两个指针指 阅读全文
posted @ 2016-10-08 20:57 myseries 阅读(688) 评论(0) 推荐(0) 编辑
摘要:1: 面试中的二叉树题目 阅读全文
posted @ 2016-07-01 23:00 myseries 阅读(296) 评论(0) 推荐(0) 编辑
摘要:树、森林和二叉树的转换 阅读全文
posted @ 2016-07-01 21:43 myseries 阅读(140) 评论(0) 推荐(0) 编辑
摘要:import java.util.Stack; class Node { private char key; private Node left, right; public Node(char key) { this(key, null, null); } public... 阅读全文
posted @ 2016-07-01 21:26 myseries 阅读(257) 评论(0) 推荐(0) 编辑
摘要:struct Student { String name; int age; }; struct Student * p; //定义了一个结构体类型的指针,指向struct Student的类型 struct Student A= {"John", 21}; //定义了一个Student类型变量并赋值 int X; p = &A; // 将变量A的地址赋给p,此时p指向A ... 阅读全文
posted @ 2016-06-30 21:45 myseries 阅读(141) 评论(0) 推荐(0) 编辑