算法
Xinx9826
长路漫漫,代码作伴
展开
-
快速排序算法
1.概念 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2.排序流程 快速排序算法通过多次比较和交换来实现排序,其排序流程如下: (1)首先设定一个分界值,通过该分界值将数组分成左右两部分。 (2)将大于或等于分界值的数据...原创 2020-08-27 12:12:42 · 174 阅读 · 0 评论 -
二叉树——树的遍历
最近在复习数据结构相关的知识,并准备用Java撸一下常见的数据结构算法。先从简单的开始,分享一下二叉树的三种遍历方式。先简单的介绍一下三种遍历方式(Java编程实现在文末):1.前序遍历前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。若二叉树为空则结束返回,否则:(1)访问根结点。(2)前序遍历左子树。(3)前序遍历右子树 。需要注意的是:遍历左右子树时仍然采用前序遍历方法。如右图所...原创 2020-05-15 11:16:46 · 290 阅读 · 0 评论 -
一致性hash算法
一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人...原创 2018-09-12 19:45:07 · 254 阅读 · 0 评论 -
Java实现DFA算法实现敏感词过滤
DFA简介 在实现文字过滤的算法中,DFA是唯一比较好的实现算法。DFA即Deterministic Finite Automaton,也就是确定有穷自动机,它是是通过event和当前的state得到下一个state,即event+state=nextstate。下图展示了其状态的转换在这幅图中大写字母(S、U、V、Q)都是状态,小写字母a、b为动作。...转载 2019-05-31 17:28:06 · 1026 阅读 · 0 评论