数据结构&&算法
文章平均质量分 70
sadjuno
一只埋头进步的小菜鸟
展开
-
有向图强连通分量的Tarjan算法
转载自https://www.byvoid.com/blog/scc-tarjan[有向图强连通分量]在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。下图转载 2015-12-06 15:44:29 · 285 阅读 · 0 评论 -
最小生成树之kruskal算法
克鲁斯卡尔算法是直接以边为目标去构建。因为权值是在边上,直接去找最小权值的边来构建生成树也是很自然的想法,只不过构建时要考虑是否会形成环路而已。此时我们用到了图的存储结构中的边集数组结构。以下是边集数组结构的定义代码:本算法所用同普里姆算法的实例,我们直接创建图的边集数组。并对边的权值从小到大排序后如下图:转载 2015-12-06 16:58:03 · 371 阅读 · 0 评论 -
最小生成树之prim算法
利用 普里姆算法 要解决如上问题,首先我们构造图的邻接矩阵。如下图所示:注意:实际中我们用65535来代表无穷大。关于普里姆算法以及讲解如下图:转载 2015-12-06 17:12:53 · 322 阅读 · 1 评论 -
328. Odd Even Linked List
【题目】Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.You should try to do i原创 2016-03-06 16:38:02 · 241 阅读 · 0 评论 -
判断一个单链表是否有环及环的链接点
给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题1的碰转载 2016-03-09 10:26:29 · 304 阅读 · 0 评论