随笔分类 - C语言描述-图(数据结构)
摘要:旅行商问题的描述 试想一下,一个业务员因工作需要必须访问多个城市。他的目标是每个城市只访问一次,并且尽可能地缩短旅行的距离,最终返回到他开始旅行的地点,这就是旅行商问题的主要思想。 在一幅图中,访问每个顶点一次,并最终返回起始顶点,这个访问的轨迹称为哈密顿圈。要解决旅行商问题,需要用图G=(V,E)
阅读全文
摘要:最短路径 在解决网络路由的问题中,寻找图中一个顶点到另一个顶点的最短路径或最小带权路径是非常重要的过程。 正式表述为,给定一个有向带权图G=(V,E),顶点s到V中顶点t的最短路径为在E中边的集合S中连接s到t代价最小的路径。 当找到S时,我们就解决了单对顶点最短路径问题。要做到这一点,实际上首先要
阅读全文
摘要:图是一种灵活的数据结构,它多用于描述对象之间的关系和连接模型。 关于图的算法:最小生成树、最短路径、旅行商问题以及许多其他算法大都会使用到广度优先搜索和深度优先搜索,因为它们提供了一套系统地访问图数据结构的方法。 带权图,是指图的每条边上带有一个值或权,这些权用一个小的数字标记在边上。很多条件因素都
阅读全文
摘要:广度优先搜索应用举例:计算网络跳数 图结构在解决许多网络相关的问题时直到了重要的作用。 比如,用来确定在互联网中从一个结点到另一个结点(一个网络到其他网络的网关)的最佳路径。一种建模方法是采用无向图,其中顶点表示网络结点,边代表结点之间的联接。使用这种模型,可以采用广度优先搜索来帮助确定结点间的最小
阅读全文
摘要:我们在这里讨论的图的接口有11个,涉及到8个函数接口和3个宏定义。
函数接口包括初始化图、销毁图、插入顶点、插入边、移除顶点、移除边、取出顶点邻接表、判断顶点是否邻接;宏接口包括返回邻接表的结构链表、返回顶点个数、返回边个数。
阅读全文
摘要:在计算机科学领域中,图是最为灵活的数据结构之一。 一般来说,图在定义对象之间的关系或联系这类问题上能够作为一种模型来帮助我们。 图中的对象可以是具体的,比如网络中的结点;也可以是不具体的,比如数据库中的业务或系统中的状态。相同点是对象之间的关系和联系。网络上的结点是物理上相连接的,系统中状态之间的关
阅读全文