首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
清尘闲聊
掘友等级
后端开发
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
26
文章 26
沸点 0
赞
26
返回
|
搜索文章
最新
热门
算法之「普里姆(Prim)算法」
普里姆算法(Prim's algorithm)是图中的一种算法,可在加权连通图中搜索最小生成树。 该算法的作用就是根据图中权值找到连接所有顶点的最短路径,也就是连接所有顶点的最小权值之和,也是这个加权图中的最小生成树。 1.选取权值最小边的其中一个顶点作为起始点。 2.找到离当…
算法之「克鲁斯克尔(Kruskal)算法」
克鲁斯克尔算法(Kruskal's algorithm)跟普里姆算法一样,是一种用来查找最小生成树的算法,但算法的实现不一样,它是通过对权值从小到大顺序排列来查找最小生成树的。 1.将原图中所有的边按权值从小到大排序。 2.从权值最小的边开始,如果这条边连接的两个节点于图中不在…
算法之「字符串匹配算法」
一说到两个字符串匹配,我们很自然就会想到用两层循环来匹配,用这种方式就可以实现一个字符串是否包含另一个字符串了,这种算法我们称为 BF算法。 BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串 S 的第一个字符与模式串 T 的第一个…
数据结构之「双端队列」
双端队列(deque)是指允许两端都可以进行入队和出队操作的队列,deque 是 “double ended queue” 的简称。那就说明元素可以从队头出队和入队,也可以从队尾出队和入队。 双端队列其实和队列差不多的,只是更加灵活了,队头和队尾均可进行入队和出队操作。这里是基…
算法之「迪杰斯特拉(Dijkstra)算法」
生活中,我们常常会面临着对路径的最优选择问题,可能是路程最短,也可能是时间最短,这个的最短路径就类似路程最短的选择。 比如在上海,乘地铁去某个地方,上海的地铁路线很多,从地图上看上去就是一个网。去某个地方就会有多条路线的选择,我们一般就会选最短那条路线。当然,在现实生活中,还会…
系统架构优化的几点建议!
一家新公司,刚开始的由于业务功能单一,往往是单台服务器,单个 web server 就提供了所有功能。使用的用户也比较少,所以为了可以快速开发迭代上线,数据也全是放入数据中,如 mysql、mongo 中。当业务增多,用户增多时,这样的系统架构就不能满足需求了。这时候就需要做系…
数据结构之「B树」
B树(B-tree)是一种自平衡的树,能够保持数据有序。是一种专用的 M 阶树,最多有 M 个节点的自平衡树,与自平衡二叉查找树不同,B树 为系统大块数据的读写操作做了优化。B树 减少定位记录时所经历的中间过程,从而加快存取速度。这种数据结构常被应用在 数据库 和 文件系统 的…
数据结构之「霍夫曼树」
霍夫曼树 是由美国计算机科学家大卫·霍夫曼(David Albert Huffman)(又译为哈夫曼、赫夫曼)在1952年发明霍夫曼编码所用到的特殊二叉树。为了纪念他的成就,于是就叫 霍夫曼树,他的编码方法称为 霍夫曼编码。 从二叉树中一个节点到另一个节点之间的分支构成两个节点…
代码重构
这段时间一直在做系统重构的工作,记录下重构的思想和感悟。 这里引用维基百科的话:“对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果”。 重构既不修正错误,又不增加新的功能性。反而它是用于提高代码的可读性或者改变代码内部结构与设计,并且移除死代码,使其在将来更容易被维…
算法之「弗洛伊德(Floyd)算法」
弗洛伊德(Floyd)算法是 Robert W. Floyd(罗伯特·弗洛伊德)于 1962 年发表在“Communications of the ACM”上,Robert W.Floyd 在 1978 年获得了图灵奖。用于从给定的加权图中查找所有顶点间的最短路径问题。作为该算…
下一页
个人成就
文章被点赞
116
文章被阅读
57,416
掘力值
1,312
关注了
14
关注者
51
收藏集
0
关注标签
27
加入于
2019-03-18