算法
「已注销」
hh
展开
-
【图算法】(3)最小连通网Prim算法以及kruskal算法
1.问题的提出如何在图中选择n-1条边,使得n个顶点间两辆可达,并且这n-1条边的权值最小?设图如下所示:要求: 1.必须使用且仅使用该网络中的n-1条边来连接网络中的n个顶点 2.不能使用产生回路的边 3.各边上的权值总和要求最小2.Prim算法的基本思想1.从图N={V,E}中选择某一顶点u0进行标记,之后选择与它关联的具有最小权值的边(u0,v),并将顶点v进行标记 2.反复在一个顶点原创 2017-07-20 09:26:55 · 1165 阅读 · 0 评论 -
【图算法】(4)最短路径算法
1.最短路径问题如果从有向图中某一顶点到达另一顶点,称为终点的路径可能不止一条,如何找到一条路径使得沿此路径上的各边上的权值总和达到最小。2.问题解决方案单源最短路径算法 Dijkstra算法 所有顶点之间的最短路径 Floyd算法原创 2017-07-21 00:05:43 · 229 阅读 · 0 评论 -
【二叉树】二叉树路径求和
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2017-07-08 12:43:41 · 2379 阅读 · 0 评论 -
【基础算法强化】(1)分治算法与动态规划
问题1数组原创 2017-07-21 23:15:43 · 244 阅读 · 0 评论 -
【图算法】(1)初始化图
1.图的初始化(采用邻接矩阵)1.1基本思想以及数据类型定义1.用一维数组存储顶点 2.用二维数组存储边 图A = (V,E)有n个顶点,设图的邻接矩阵为Edge[n][n],则满足条件:if(Edge[i][j] > 0){ //i和j为相连 }else if(Edge[i][j] == 0){ //i和j为同一点 || i和j不相连 }else{ //Error }原创 2017-07-18 01:04:12 · 1933 阅读 · 0 评论 -
【图算法】(2)DFS和BFS
1.DFS思想以及实现算法描述 访问起始顶点v 当v还有邻接顶点没有被访问时 —–深度遍历未访问过的邻接顶点w 当v的所有邻接顶点都被访问时 —–如果图中所有顶点均已访问时 算法结束 —–如果途中还有未访问的顶点 以未访问顶点原创 2017-07-19 09:15:41 · 277 阅读 · 0 评论 -
【基础算法强化】(2)零子数组
1.对于长度为N的数组A,求子数组的和接近0的子数组,要求时间复杂度为O(NlogN)思路: 1.申请累积和数组sum[i],定义sum[-1]=0; 2.∑Ak=sum(j)-sum(i-1); 3.对sum数组排序,计算相邻元素差值,其中最小值记为min_1; 4.sum数组中最小值记为min_2 5.return min(min_1,min_2);实现代码如下:#include <i原创 2017-07-27 01:05:02 · 393 阅读 · 0 评论