【Java学习】第52节:高级数据结构(五):图

本文详细介绍了图的概念,包括有向图与无向图、权、路径、环和图的连通性。接着讲解了图的表示方法,如邻接矩阵和邻接表。还探讨了Java中表示图的实现方式。此外,文章涵盖了深度优先搜索(DFS)、广度优先搜索(BFS)、拓扑排序、最短路径算法(Dijkstra、Bellman-Ford、Floyd-Warshall)以及最小生成树(Prim、Kruskal)。最后,提到了不相交集合(并查集)及其优化策略。
摘要由CSDN通过智能技术生成

目录

1. 图

1) 概念

有向 vs 无向

路径

图的连通性

2) 图的表示

3) Java 表示

4) DFS

5) BFS

6) 拓扑排序

Kahn

DFS

7) 最短路径

Dijkstra

Bellman-Ford

Floyd-Warshall

8) 最小生成树

Prim

Kruskal

9) 不相交集合(并查集合)

基础

路径压缩

Union By Size

图-相关题目


1. 图

1) 概念

图是由顶点(vertex)和边(edge)组成的数据结构,例如

graph LR
    A--->B
    A--->C
    B--->D
    C--->D

该图有四个顶点:A、B、C、D 以及四条有向边,有向图中,边是单向的

有向 vs 无向

如果是无向图,那么边是双向的,下面是一个无向图的例子

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫蜜柚子茶

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值