![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
shikelang_pp
视频编码,C++,数据结构
展开
-
最小生成树-Prim算法和Kruskal算法
最小生成树-Prim算法和Kruskal算法 Prim算法1.概览普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(英语:Vojtěch转载 2017-07-15 14:41:39 · 399 阅读 · 0 评论 -
N个数依次入栈,出栈顺序有多少种
1.基于栈的问题分析我们把n个元素的出栈个数的记为f(n), 那么对于1,2,3, 我们很容易得出: f(1) = 1 //即 1 f(2) = 2 //即 12、21转载 2017-08-14 21:48:21 · 4705 阅读 · 0 评论 -
KMP算法
kmp算法又称“看毛片”算法,是一个效率非常高的字符串匹配算法。不过由于其难以理解,所以在很长的一段时间内一直没有搞懂。虽然网上有很多资料,但是鲜见好的博客能简单明了地将其讲清楚。在此,综合网上比较好的几个博客(参见最后),尽自己的努力争取将kmp算法思想和实现讲清楚。kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O中出现,如果出现则返回出现的位置。常规方法是遍历转载 2017-08-14 09:57:39 · 270 阅读 · 0 评论 -
算法复杂度对数阶O(logn)详解
下面的这段代码,时间复杂度是多少呢?int count = 1;while(count < n){ count = coint*2; //时间复杂度O(1)的程序步骤序列 ......}由于每次count成衣2之后,就距离n更近了一分。也就是说,有多少个2相乘后大于n,则会退出循环。由2^x=n 得到x=logn。所以这个循环的时间复杂度为O(log原创 2017-08-13 16:25:20 · 19342 阅读 · 11 评论 -
算法复杂度O(nlogn)详解
首先看以下程序段:for(int i=1;i{ for(int j=1;j { ..... //复杂度为O(1); }}求该程序段的时间复杂度。可以看出:(1)当i=1时,需要执行n次; (2)当i=2时,需要执行n/2原创 2017-08-13 16:15:56 · 29117 阅读 · 13 评论 -
二叉查找树的插入和删除详解
二叉查找树是如下定义的:(1) 左子树不空,则左子树上的所有结点的值均小于根结点的值(2) 右子树不空,则右子树上的所有结点的值均大于根结点的值二叉查找树可以为空,二叉查找树是递归定义的,也就是说其左右子树也为二叉查找树。二叉查找树是一种动态查找表,可以进行动态地插入和删除。前面的定义中我们假定二叉查找树不含有相同元素。由定义可知二叉查找树的中序序列为一个递增序列常见的转载 2017-07-19 11:17:59 · 352 阅读 · 0 评论 -
二叉查找树的插入和删除详解
二叉查找树是如下定义的:(1) 左子树不空,则左子树上的所有结点的值均小于根结点的值(2) 右子树不空,则右子树上的所有结点的值均大于根结点的值二叉查找树可以为空,二叉查找树是递归定义的,也就是说其左右子树也为二叉查找树。二叉查找树是一种动态查找表,可以进行动态地插入和删除。前面的定义中我们假定二叉查找树不含有相同元素。由定义可知二叉查找树的中序序列为一个递增序列常见的转载 2017-07-19 11:16:09 · 543 阅读 · 0 评论 -
数据结构:单源最短路径--Dijkstra算法
Dijkstra算法单源最短路径 给定一带权图,图中每条边的权值是非负的,代表着两顶点之间的距离。指定图中的一顶点为源点,找出源点到其它顶点的最短路径和其长度的问题,即是单源最短路径问题。Dijkstra算法 求解单源最短路径问题的常用方法是Dijkstra(迪杰斯特拉)算法。该算法使用的是贪心策略:每次都找出剩余顶点中与源点距离最近的一个顶点。算法思想转载 2017-07-15 15:03:15 · 506 阅读 · 0 评论 -
数据结构:点对之间最短距离--Floyd算法
Floyd算法Floyd算法 Dijkstra算法是用于解决单源最短路径问题的,Floyd算法则是解决点对之间最短路径问题的。Floyd算法的设计策略是动态规划,而Dijkstra采取的是贪心策略。当然,贪心算法就是动态规划的特例。算法思想 点对之间的最短路径只会有两种情况:两点之间有边相连,weight(Vi,Vj)即是最小的。通过另一点:中介点,两点相连转载 2017-07-15 15:01:25 · 523 阅读 · 0 评论 -
数据结构:最小生成树--Prim算法
最小生成树:Prim算法最小生成树 给定一无向带权图,顶点数是n,要使图连通只需n-1条边,若这n-1条边的权值和最小,则称有这n个顶点和n-1条边构成了图的最小生成树(minimum-cost spanning tree)。Prim算法 Prim算法是解决最小生成树的常用算法。它采取贪心策略,从指定的顶点开始寻找最小权值的邻接点。图G=,初始时S={V0},把与V0相转载 2017-07-15 14:57:29 · 454 阅读 · 0 评论 -
数据结构:最小生成树--Kruskal算法
数据结构:最小生成树--Kruskal算法标签: Kruskal算法图并查集kruskal数据结构2014-08-07 11:45 2308人阅读 评论(1)收藏举报分类: 数据结构与算法(49) 作者同类文章X版权声明:本文为博主原创文章,转载,请注明出处。若是商业用途,请事先联系作者。转载 2017-07-15 14:54:02 · 600 阅读 · 0 评论