数据结构第六章知识总结

       在这一章里我们主要学习了图。GraphG=VE),V是顶点的有穷非空集合,E是顶点偶对的有穷集。 有向图:每条边有方向;无向图:每条边没有方向。有向完全图:具有n*n-1)条边的有向图;无向完全图:具有n*n-1/2条边的无向图;有图的存储结构:1·邻接矩阵表示法:用一个n阶方阵来表示图的结构是唯一的,适合稠密图。2·无向图:邻接矩阵是对称的。3·有向图:行是出度,列是入度。 建立邻接矩阵算法的时间是On+n^2+e),其时间复杂度为On^2.邻接表表示法:用顶点表和邻接表构成不是唯一的,适合稀疏图。邻接表:用头指针确定。无向图称边表;有向图又分出边表和逆邻接表;邻接表结点结构为 adjvex | next,时间复杂度为On+e)。空间复杂度为On+e)。

      图的遍历:1·深度优先遍历:借助于邻接矩阵的列。使用栈保存已访问结点。2·广度优先遍历:借助于邻接矩阵的行。使用队列保存已访问结点。生成树的定义:若从图的某个顶点出发,可以系统地访问到图中所有顶点,则遍历时经过的边和图的所有顶点 构成的子图称作该图的生成树。最小生成树:图的生成树不唯一,从不同的顶点出发可得到不同的生成树,把权值最小的生成树称为最小生成树 (MST)。构造最小生成树的算法:Prim算法的时间复杂度为On^2)与边数无关适于稠密图。Kruskal算法的时间复杂度为Olge),主要取决于边数,较适合于稀疏图。最短路径的算法:Dijkstra算法,时间复杂度为On^2)。2·类似于prim算法。    

      拓扑排序:是将有向无环图G中所有顶点排成一个线性序列,若<uv>EG),则在线性序列uv之前, 这种线性序列称为拓扑序列。 拓扑排序也有两种方法:1·无前趋的顶点优先,每次输出一个无前趋的结点并删去此结点及其出边,最后得到的序列即拓扑序列。2·无后继的结点优先:每次输出一个无后继的结点并删去此结点及其入边,最后得到的序列是逆拓扑序列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值