最近在复习数据结构和算法的的内容,栈和队列的思想是比较深刻,借于许多高级语言都有相应的框架实现了栈和队列链表等,所以对于这一类,我们只需要了解其思想,在真正操作时,也会显得比较简单。但是还有一类数据结构是稍显复杂的,在高级语言的程序里面并没有相应的框架,比如树和图。树一般可用节点 ...
背景 不同的数据结构有不同的用途,像:数组 链表 队列 栈多数是用来做为基本的工具使用,二叉树多用来作为已排序元素列表的存储,B 树用在存储中,本文介绍的 Graph 多数是为了解决现实问题 说到底,所有的数据结构都是这个目的 ,如:网络布局 任务安排等。 图的基本概念 示例 顶点 Vertex 上图的 就是顶点。 邻接 Adjoin 如果 A 和 B 通过定向边相连,且方向为 A gt B,则 ...
2013-12-27 10:27 2 12002 推荐指数:
最近在复习数据结构和算法的的内容,栈和队列的思想是比较深刻,借于许多高级语言都有相应的框架实现了栈和队列链表等,所以对于这一类,我们只需要了解其思想,在真正操作时,也会显得比较简单。但是还有一类数据结构是稍显复杂的,在高级语言的程序里面并没有相应的框架,比如树和图。树一般可用节点 ...
普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克发现;并在1957年由美国计算机科学家罗伯特·普里姆独立发现;1959年 ...
图的最小生成树 对于一张图,我们有一个定理:n个点用n-1条边连接,形成的图形只可能是树。我们可以这样理解:树的每一个结点都有一个唯一的父亲,也就是至少有n条边,但是根节点要除外,所以就是n-1条边。还有一种理解:树里不存在环,那么既要连接n个点又不能形成环,只能用n-1条边。 那么,对于一张 ...
一.概述 加权无向图是一种在无向图的基础上,为每条边关联一个权值或是成本的图模型.应用可以有很多:例如在一幅航空图中,边表示导线,权值则表示导线的长度或是成本等. 图的生成树是它的一颗含有其所有顶点的无环连通子图,一幅加权图的最小生成树(MST)是它的一颗权值(树中的所有边的权 ...
正文 所谓最小生成树,就是在一个具有N个顶点的带权连通图G中,如果存在某个子图G',其包含了图G中的所有顶点和一部分边,且不形成回路,并且子图G'的各边权值之和最小,则称G'为图G的最小生成树。 由定义我们可得知最小生成树的三个性质: • 最小生成树不能有回路 ...
最小生成树的形成 (1)一个贪心策略设计如下 每个时刻生长最小生成树的一条边,并在整个策略的实施过程中,遵守下述循环不变式的边集合A: 每一步,选择一条边(u,v)加入集合A,使得A不违反循环不变式。 这样的边使得我们可以“安全地”将之加入到集合A而不会破坏 ...
深度优先遍历和广度优先遍历这两题错误的主要原因是我看成了数字而不是字母 最小生成树 题目: ...
带权图的邻接矩阵中无连接的值为无限大最小生成树的算法:从一个顶点出发找到其他顶点的所有的边,放入优先列队,找到权值最小的,把它和它所到达的顶点放入树的集合中。再以终点作为源点找到所有到其他顶点的边(不包括已放入树中的顶点),放入优先队列中,再从中取最小的把它到达的顶点放入树的集合中(最小生成树 ...