算法作业1

1.问题
假设N=(V,{E})是一个连通网,U是顶点集V的一个非空子集,如果(u,v)是一条具有最小权值的边,其中u属于U,v属于V-U,则必定存在一颗包含边(u,v)的最小生成树,采用Prim算法构造最小生成树。
2.解析
在所有u∈U,v∈V-U的边(u,v)∈E中找到一条代价最小的边(u0,v0),并将其并入集合ET,u0并入U。重复上述操作,直至U=V。则此时的T=(V,{ET})为最小生成树。
在这里插入图片描述

3.设计
void prim()
{
//以1作为根节点
for (int i=1;i<=n;i++)
{
if(matrix[1][i]!=INF)
p[i]=1;
d[i]=matrix[1][i];
}
while (1)
{
int maxx=INF;
int u=-1;
//找到距离生成树最短距离的节点
for (int i=1;i<=n;i++)
{
if(!visited[i]&&d[i]<maxx)
{
maxx=d[i];
u=i;
}
}
if(u==-1)
break;
//将选出的节点纳入集合
visited[u]=1;
//更新该节点影响的节点
for (int i=1;i<=n;i++)
{
if(!visited[i]&&d[i]>matrix[u][i])
{
d[i]=matrix[u][i];
p[i]=u;
}
}
}
int sum=0;
for (int i=1;i<=n;i++)
if(p[i]==-1)
{
printf(“不存在最小生成树\n”);
return ;
}
else
sum+=d[i];
printf(“最短生成树的长度为%d\n”,sum);
return ;
}

4.分析
Prim算法的时间复杂度为O(n²)。
5.源码
https://github.com/Soulkey777/algorithm-analysis

1.问题
假设N=(V,{E})是一个连通网,U是顶点集V的一个非空子集,如果(u,v)是一条具有最小权值的边,其中u属于U,v属于V-U,则必定存在一颗包含边(u,v)的最小生成树,采用Kruskal算法构造最小生成树。
2.解析
克鲁斯卡尔算法的基本思想是以边为主导地位,始终选择当前可用的最小边权的边。每次选择边权最小的边链接两个端点是kruskal的规则

在这里插入图片描述

3.设计

在这里插入图片描述

4.分析
Kruskal算法的时间复杂度为O(ElogE)。
5.源码
https://github.com/Soulkey777/algorithm-analysis

已标记关键词 清除标记
相关推荐
<span> </span> <div> 以通俗简介的方式,从浅入深介绍SVM原理和代码流程 让你从此不再惧怕SVM <br /> </div> <div> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="color:#E53333;">视频部分:</span></strong> </p> </div> 01_SVM之回顾梯度下降原理<br /> 02_SVM之回顾有约束的最优化问题<br /> 03_SVM之回顾有约束的最优化问题-KKT几何解释<br /> 04_SVM之回顾有约束的最优化问题-KKT数学解释<br /> 05_SVM之回顾距离公式和感知器模型<br /> 06_SVM之感知器到SVM的引入<br /> 07_SVM之线性可分时损失函数的表示<br /> 08_SVM之线性可分时损失函数的求解-对w,b变量求偏导<br /> 09_SVM之线性可分时损失函数的求解-对β变量求解.<br /> 10_SVM之线性可分时算法整体流程<br /> 11_SVM之线性可分时案例<br /> 12_SVM之线性不可分时软间隔介绍<br /> 13_SVM之线性不可分时软间隔优化目标<br /> 14_SVM之线性不可分时软间隔算法整体流程<br /> 15_SVM之线性不可分时数据映射高维解决不可分问题<br /> 16_SVM之线性不可分时核函数引入<br /> 17_SVM之线性不可分时核函数讲解<br /> 18_SVM代码之线性可分时和Logistic回归比较<br /> 19_SVM代码之基于鸢尾花数据多分类参数解释<br /> 20_SVM代码之基于鸢尾花数据网格搜索选择参数<br /> 21_SVM代码之不同分类器,核函数,C值的可视化比较<br /> <p> 22_SVM之回归方式SVR </p> <p> 23_SVM代码之SVR解决回归问题 </p> 24_SVM之SMO思想引入<br /> <p> 25_SVM之SMO案列讲解 </p> <p> <br /> </p> <p> <strong><span style="color:#E53333;">代码部分:</span></strong> </p> <p> <img src="https://img-bss.csdn.net/202005090648425294.png" alt="" /> </p> <p> <br /> </p> <p> <strong><span style="color:#E53333;">资料部分:</span></strong> </p> <p> <img src="https://img-bss.csdn.net/202005090649458459.png" alt="" /> </p>
<p><span style="font-size: 18px;"><strong>【为什么学习机器学习算法?】</strong></span></p> <p style="text-align: left;"><span style="font-size: 14px;">人工智能是国家发展的战略,未来发展的必然趋势。</span></p> <p style="text-align: left;"><span style="font-size: 14px;">将来很多岗位终将被人工智能所代替,但人工智能人才只会越来越吃香。</span></p> <p style="text-align: left;"><span style="font-size: 14px;">中国人工智能人才缺口超过</span><span style="font-size: 14px;">500</span><span style="font-size: 14px;">万,人才供不应求。</span></p> <p style="text-align: left;"><span style="font-size: 16px;">要想掌握人工智能,机器学习是基础、是必经之路,也是极其重要的一步。</span></p> <p><span style="font-size: 18px;"><strong>【课程简介】</strong></span></p> <p><span style="font-size: 14px;">很多人认为机器学习难学,主要是因为其过于关注各种复杂数学公式的推导,从而忽略了公式的本质。</span></p> <p><span style="font-size: 14px;"> 本课程通过对课件的精心编排,课程内容的不断打磨,重磅推出机器学习8大经典模型算法,对晦涩难懂的数学公式,</span><br /><span style="font-size: 14px;"> 通过图形展示其特点和本质,快速掌握机器学习模型的核心理论,将重点回归到机器学习算法本身。</span></p> <p><span style="font-size: 14px;">本课程选取了机器学习经典的8大模型:</span></p> <p><span style="background-color: #2dc26b; color: #ffffff; font-size: 16px;">线性回归、逻辑回归、决策树、贝叶斯分类器、支持向量机(SVM)、集成学习、聚类以及降维</span></p> <p><span style="font-size: 14px;">再也不用东拼西凑,一门课程真正掌握机器学习核心技术。</span></p> <p><span style="font-size: 14px;"> 它们是人工智能必经之路,机器学习必学技术,企业面试必备技能。</span></p> <p><span style="font-size: 14px;"> </span></p> <p><span style="font-size: 14px;">《<span style="color: #e53333;">深度学习与神经网络从原理到实践</span>》课程现已上线,这使得人工智能学习路径更加完备,</span></p> <p><span style="font-size: 14px;">地址:<a href="https://edu.csdn.net/course/detail/29539">https://edu.csdn.net/course/detail/29539</a></span></p>
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页