首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    算法与数据结构(四) 图的物理存储结构与深搜、广搜(Swift版)

    开门见山,本篇博客就介绍图相关的东西。图其实就是树结构的升级版。上篇博客我们聊了树的一种,在后边的博客中我们还会介绍其他类型的树,比如红黑树,B树等等,以及这些树结构的应用。本篇博客我们就讲图的存储结构以及图的搜索,这两者算是图结构的基础。下篇博客会在此基础上聊一下最小生成树的Prim算法以及克鲁斯卡尔算法,然后在聊聊图的最短路径、拓扑排序、关键路径等等。废话少说开始今天的内容。 一、概述 在博客开头,我们先聊一下什么是图。在此我不想在这儿论述图的定义,当然那些是枯燥无味的。图在我们生活中无处不在呢,各种地

    010

    算法与数据结构(五) 普利姆与克鲁斯卡尔的最小生成树(Swift版)

    上篇博客我们聊了图的物理存储结构邻接矩阵和邻接链表,然后在此基础上给出了图的深度优先搜索和广度优先搜索。本篇博客就在上一篇博客的基础上进行延伸,也是关于图的。今天博客中主要介绍两种算法,都是关于最小生成树的,一种是Prim算法,另一个是Kruskal算法。这两种算法是很经典的,也是图中比较重要的算法了。 今天博客会先聊一聊Prim算法是如何生成最小生成树的,然后给出具体步骤的示例图,最后给出具体的代码实现,并进行测试。当然Kruskal算法也是会给出具体的示例图,然后给出具体的代码和测试用例。当然本篇博客中

    07

    数据结构与算法 - 图的邻接表 (思想以及实现方式)

    PS:邻接表,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储结构。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。图的邻接表储存方式相对于邻接矩阵比较节约空间,对于邻接矩阵需要分别把顶点和边(顶点之间的关系)用一维数组和二维数组储存起来。而邻接表则是把顶点按照顺序储存到一维数组中,然后再通过链式方式,把有关系的顶点下标链接到后方,咱们先不考虑权重问题,结构体定义简单一点,当然加上权值也不难。下方看图解释。 邻接表 有向图 无向图 逆邻接表 有

    03
    领券