Floyd 算法(Floyd-Warshall algorithm)又称为弗洛伊德算法、插点法,用于在给定的加权图中计算两个顶点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题。该算法名称以创始人之一、19...
迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,它用于解决的是有向图中最短路径问题。Dijkstra 算法能够计算出给定起【起始顶点】到【其他所有顶点】的最短路径。 1. 算法过程 我们通过一个例子来分...
图的遍历和树的遍历类似,从图中某一顶点出发访问遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程叫做图的遍历。 由于图中的任何顶点都可能和其余所有的顶点相邻接,极有可能沿着某条路径搜索后,又回到原顶点,而有些顶点可能还...
图的定义:图是由顶点的有穷非空集合和顶点之间的边的集合组成,通常表示为:G = (V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。 无向边:若顶点Vi 到Vj 的边没有方向,则称这条边为无向边,用...
HMM 和 CRF 的概念理解不那么简单,文章简单梳理下两者的区别和原理。 1. HMM 隐马尔科夫模型的训练参数有:初始状态概率矩阵、转移概率矩阵、发射概率矩阵。如果我们进行的是有监督学习,那么就需要从训练集中通过统计...
二叉树遍历算法主要包括递归遍历方式、非递归遍历方式。而每一种方式又分为先序遍历、中序遍历、后序遍历。如果你的二叉树是二叉排序树,希望遍历出来的结果是有序的,那么无论是递归还是飞递归都需要使用中序遍历。另外,有时,我们也需...
命令模式用于将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 简单来讲,命令模式可以将不同的请求封装成统一的访问方式,比如有些请求函数名是 request...
观察者模式包含两个对象,一个是观察者,一个是被观察者。一般而言,观察者可以有多个,被观察者只有1个。当被观察者有任何的状态变化时,会通知到所有的观察者,观察者根据状态的不同做出不同的行为。 在 GoF 4 人编写的《设计...
适配器模式也是在开发一些业务框架时经常会使用到的模式。 1. STL 的适配器 其实该模式在我们使用 STL 标准模板库时也经常碰到过。比如,not1、not2 去翻适配器,bind1st、bind2nd 绑定适配器等,...
模板方法模式是设计模式中的一种非常简单,应用也较为广泛的设计模式。其基本的思想和意图是,预先定义好一些算法框架,并把算法的具体实现延迟到子类。也就是说,我们可以使用父类来定义算法的步骤,但是每一步具体如何实现我们并不关心...
多标签分类是指每个样本可以被分配到多个类别中,即:可以拥有多个标签。比如:某条新闻既可以是军事类新闻、也可以是政治类新闻。 在评估多标签分类模型时,我们使用的是样本平均精确率、样本平均召回率和样本平均 F1 分数。 接下...
主题模型(Topic Model) 是以非监督的方式对文档的隐含语义结构(Latent Semantic Structure)进行聚类的统计模型。它主要被用于自然语义处理中的语义分析和文本挖掘问题,例如:按主题对文本进行...
在 《Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks》 中作者提到: 在小数据集上训练的文本...