- 博客(8)
- 收藏
- 关注
原创 Dijkstra算法和Floyd算法详解
区别:Dijkstra算法是求单元最短路径的算法,,即是求某个顶点到其余各顶点的最短路径。而Floyd算法是求任意两个顶点之间的最短路径。Dijkstra算法(迪杰斯特拉算法)基于贪心策略具体步骤:声明一个数组来保存起始点到各个顶点的最短距离和一个保存已经找到了最短路径的顶点集合S,剩余顶点的集合V。 初始时,S中只有起始点然后从剩余顶点中找到一个点使得从从起始点到该点的路径是最短路径,并且把该点加入到S中。 然后我们需要看看新加入的顶点是否可以到达其他顶点并且看看通过该顶点到达其.
2020-05-11 12:30:42
7791
原创 最小生成树——Prim算法和Kruskal算法详解
最小生成树对于一个带权连通无向图G=(V,E),生成树不同,每棵树的权(即树中所有边上的权值之和)也可能不同,设r为G的所有生成树的集合,若T为r中边的权值之和最小的那棵生成树,则T称为G的最小生成树。最小生成树的性质:最小生成树不是唯一的。 最小生成树的边的权值之和总是唯一的 最小生成树的边数为顶点数减1,即边数=n-1(n为顶点数)下面介绍两种实现最小生成树的算法:普里姆(Prim)算法Prim算法的执行非常类似于寻找图的最短路径的Dijkstra算法。基...
2020-05-11 11:34:18
3748
原创 为什么要用神经网络?
为什么要用神经网络?1. 对于同一个分类任务,我们可以用机器学习的算法来做,为什么要用神经网络呢?一个分类任务,我们用机器学习算法来做时,需要把数据“喂”到算法里去训练,最后保存模型,再来预测分类的准确性。但是这就有个问题,即我们需要实现确定好特征,每一个特征即为一个维度,特征数目过少,我们可能无法精确的分类出来,即我们所说的欠拟合,如果特征数目过多,可能会导致我们在分类过程中过于注重某个...
2020-04-08 16:17:18
2998
1
原创 AJAX学习
什么是AJAX?AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。AJAX工作原理1、浏览器发生某个事件,创建XMLHTTPRequest对象,发送HTTPRequest请求2、服务器处理HTTPRequest,创建响应并将数据返回至浏览器3、浏...
2020-04-07 17:26:45
151
原创 KNN算法
KNN算法KNN即K-邻近算法。主要是用于分类。它的原理比较简单,就是说首先拿出已经分好类的样本集,并且样本集的每个数据都存在标签,然后将没有标签的数据的每个特征与样本集进行对比,选择样本数据集中前 K个最相似的数据。简单来说就是比如说一个二维坐标,x轴代表大小,y轴代表颜色,然后我们把样本集里的水果按特征放在这个坐标里,,然后一个个计算这个未知水果距离每个已知水果的距离,当它和K个最...
2020-04-07 16:46:57
204
原创 监督学习、无监督学习、强化学习的区别
机器学习目前机器学习主流分为三大类:监督学习,无监督学习和强化学习举个例子,我们经常考试,试卷上的题目我们未必都做过,但是在复试的时候会刷很多题,通过这些题目我们学会了阶梯方法,在考试时面对陌生的题目也能做出来。同样机器学习也是一个举一反三的过程,我们可以利用一些训练数据,使机器能够利用它们分析未知数据。通过计算的手段利用经验来改善系统自身的性能,其实它研究的问题就是学习算法,就是...
2020-04-07 16:39:17
16436
原创 如何把修改/更新过的项目重新提交至github上
更新项目提交至github只需要几条命令即可1.在本地的git仓库将你修改过的项目复制到下面(覆盖掉之前上传的)2、右击选择Git Bash Here打开命令行3、输入下面四行命令即可: 1) git status 2) git add . (别忘了add后面+空格+.) 3) git commit -m "备注" 4) ...
2019-05-08 22:47:27
4152
原创 如何将本地项目部署到Github上
Github上是一个面向开源及私有软件项目的托管平台那么如何上传项目至GitHub上上: 首先注册一个GitHub的账号然后,你需要下载安装GIT中(这里就不说了)第一步:创建新存储库在右上角,在您的头像或identicon旁边,单击然后选择新的存储库。填好后,单击创建存储库 打开设置,有一个Github Pages的设置,点击源中的的无使其变成master...
2018-08-26 22:21:20
2595
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人