• Raft算法

     发表于 2 个月 前

    Raft的应用十分广泛,比如etcd项目就是使用Raft来保证分布式一致性的。...

  • 二叉查找树实现原理分析

     发表于 6 个月 前

    二叉查找树是一种能将链表插入的灵活性和有序数组查找的高效性结合起来的一种重要的数据结构,它是我们后面学习红黑树和AVL树的基础,本文我们就先来看一下二叉查找树的实现原理。...

  • 优先队列实现原理分析

     发表于 6 个月 前

    优先队列是在实际工程中被广泛应用的一种数据结构,不管是在操作系统的进程调度中,还是在相关的图算法比如Prim算法和Dijkstra算法中,我们都可以看到优先队列的身影,本文我们就来...

  • 红黑树插入算法实现原理分析

     发表于 6 个月 前

    红黑树是在实际工程中被广泛应用的一种数据结构,比如Linux中的线程调度就是使用的红黑树来管理进程控制块,而Nginx中也是使用红黑树来管理的timer,Java中的TreeMap...

  • 二叉树-遍历终极版

     发表于 8 个月 前

    对于二叉树的遍历,最熟悉的就是递归遍历了,对二叉树的非递归遍历大致知道一些,但是不太熟悉,尤其是后续非递归遍历的实现,一直比较懵逼,于是上网查询了一下,果然大神无处不在,那个后序遍...

  • Apriori算法原理总结

     发表于 9 个月 前

    Apriori算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。比如在常见的超市购物数据集,或者电商的网购数据...

  • 十大程序员开发用到的基本算法

     发表于 9 个月 前

    ...

  • 一个提高查找速度的小技巧

     发表于 9 个月 前

    虽然每次都是写出这样的代码,但我总觉得for循环中的,昨天晚上看编程珠玑的时候发现了这个小技巧,今天就来分享一下。...

  • 开源:Snake - 贪吃蛇游戏的人工智能算法实现

     发表于 9 个月 前

    贪吃蛇游戏的人工智能算法实现。...

  • 算法:深度优先算法和广度优先算法

     发表于 9 个月 前

    深度优先 - 数组表示:查找所有顶点的所有邻接点所需时间为O(n 2 ),n为顶点数,算法时间复杂度为O(n 2 ) 广度优先 - 数组表示:查找每个顶点的邻接点所需时间为O(n...

  • 拓扑排序的原理及其实现

     发表于 10 个月 前

    将有向图中的顶点以线性方式进行排序。即对于任何连接自顶点 u 到顶点 v 的有向边 uv ,在最后的排序结果中,顶点 u 总是在顶点 v 的前面。...

  • 并查集(Union-Find)算法介绍

     发表于 10 个月 前

    本文主要介绍解决 动态连通性 一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为 Union-Find 。...

  • 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

     发表于 11 个月 前

    用Objective-C实现几种基本的排序算法,并把排序的过程图形化显示。其实算法还是挺有趣的 ^ ^....

  • 最短路径之迪杰斯特拉(Dijkstra)算法

     发表于 1 年 前

    迪杰斯特拉(Dijkstra)算法主要是针对没有负值的有向图,求解其中的单一起点到其他顶点的最短路径算法。本文主要总结迪杰斯特拉(Dijkstra)算法的原理和算法流程,最后通过程...

  • 数据结构之线性表的顺序存储于链式存储(Swift面向对象版)

     发表于 1 年 前

    本篇文章我们主要介绍的是逻辑结构中的线性表,也就是线性结构。线性结构的特点就好比一串珠子,其特点是第一个节点只有一个后继,没有前驱,最后一个节点是只有一个前驱,没有后继。而其余的节...

  • 快速排序算法的实现及相关测试算法的原理与实现

     发表于 1 年 前

    快速排序是一种分治的排序算法,是实践中最快的排序算法,理论上的时间复杂度为O(N*lgN),最差情况的时间复杂度为O(N^2),但稍加努力就可避免这种情况。...

  • LZ77 压缩算法编码原理详解(结合图片和简单代码)

     发表于 1 年 前

    LZ77算法是无损压缩算法,由以色列人Abraham Lempel发表于1977年。LZ77是典型的基于字典的压缩算法,现在很多压缩技术都是基于LZ77。...

  • 运用 Aggregator 模式实现 MapReduce

     发表于 1 年 前

    MapReduce是更好地利用并行计算资源来提升数据处理能力的重要算法,如今已被主流的大数据分析平台实现,成为了大数据批量处理的主力军。利用前面介绍的Actor特性,其实我们也可以...

  • 十大经典算法总结

     发表于 1 年 前

    对于一个前端来说,尤其是笔试面试的时候,算法方面考的其实不难( 十大排序算法或是和十大排序算法同等难度的 ),但就是之前没用javascript实现过或是没仔细看过相关算法的原理,...