图论初步与可视化

本讲将简要介绍图论中的基本概念,并主要讲解图论中的最短路径问题。以及如何将图论可视化

一、图论的概念

二、在线作图网站

此处将介绍在线作图网站的应用,网址如下:
https://csacademy.com/app/graph_editor/

1.index介绍

在图的上方有0-index与1-index可供选择;其中前者表示标号从0开始,后者则表示标号从1开始

2.Node Count介绍

在图的左边Node Count可以设置节点的个数;但其实我们并不需要去设置它,通过调整下方的参数,这个部分会自动变化

3.Graph data

此处可以调整图的方向与参数,基本语法为:起点————终点————权重

同时,上方也可以设置图为有向图或是无向图
如果我们想要保存图,点击网站右下方的Download as a PNG

三、Matlab作无向图

如果我们仅仅是为了实现可视化,用在线作图网站会更加方便,但为了体现数学建模的代码思想,我们还是会介绍如何用matlab去实现

1.无权图(每条边的权重默认为1)

函数graph(s,t):可在 s 和 t 中的对应节点之间创建边,并生成一个图
其中,s,t必须是以以为起点的的连续的正整数;如果只有5个节点,则参数只能是1,2,3,4,5;
s参数为起点向量,t为终点向量;

先用G1 = graph(s1, t1)将信息储存到G1中,此时的G表示着一个储存着图论信息的一个数据结构;再利用plot函数即可画出图

2.利用字符串做无权图

同样,我们只需要把s和t的向量改成一个字符串向量即可,但注意字符串向量需要用{};

3.有权图

有权图只需添加一个参数向量w即可,其余步骤如上。但在作图的时候需要在plot函数中添加一个参数,具体如代码所示

四、Matlab作有向图

matlab作有向图只需要把函数改成digraph即可,其余不变,不再重复介绍。

posted @ 2024-07-01 16:31  卢宇博  阅读(21)  评论(0编辑  收藏  举报