当前位置: 首页 > news >正文

自己做网站最新视频教程百度搜索如何去广告

自己做网站最新视频教程,百度搜索如何去广告,搭建小程序,三星手机网上商城文章目录 前言一、图论基本概念示例 二、代码实现----Matlab三、代码实现----python总结 前言 通过模型算法,熟练对Matlab和python的应用。 学习视频链接: https://www.bilibili.com/video/BV1EK41187QF?p36&vd_source67471d3a1b4f517b7a7964093e6…

文章目录

  • 前言
  • 一、图论
    • 基本概念
    • 示例
  • 二、代码实现----Matlab
  • 三、代码实现----python
  • 总结


前言

通过模型算法,熟练对Matlab和python的应用。
学习视频链接:
https://www.bilibili.com/video/BV1EK41187QF?p=36&vd_source=67471d3a1b4f517b7a7964093e62f7e6

一、图论

图论(Graph Theory)是数学和计算机科学中的一个重要分支,专门研究图(graphs)的性质及其应用。图是一种抽象的数据结构,用于表示对象及其相互关系。

基本概念

  1. 图(Graph)
    一个图由一组顶点(或称为节点)和一组边(连接这些顶点的线)组成。形式上,一个图 ( G ) 可以表示为 ( G = (V, E) ),其中 ( V ) 是顶点集合,( E ) 是边集合。

  2. 顶点(Vertex)
    图中的一个基本单位,代表某个对象。顶点的集合通常用 ( V ) 表示。

  3. 边(Edge)
    顶点之间的连接。边的集合通常用 ( E ) 表示。边可以是有向的(directed)或无向的(undirected)。

  4. 有向图(Directed Graph or Digraph)
    边有方向的图,即边表示从一个顶点指向另一个顶点的箭头。

  5. 无向图(Undirected Graph)
    边没有方向的图,即边仅表示顶点之间的连接,没有方向性。

  6. 权重(Weight)
    在一些图中,边可以附带一个数值,称为权重(weight),表示顶点之间的距离、成本或其他度量。

  7. 路径(Path)
    从一个顶点到另一个顶点经过的一系列边和顶点。路径的长度通常表示为路径上所有边的权重之和。

示例

在这里插入图片描述

  • 求 0 到 8 的最短距离。

二、代码实现----Matlab

在MATLAB中,shortestpath 函数用于计算图中两个节点之间的最短路径。

shortestpath 函数的基本语法如下:

[P, d] = shortestpath(G, s, t)
  • G:一个图对象,通常使用 graphdigraph 函数创建。
  • s:起始节点。
  • t:目标节点。
  • P:返回的最短路径上的节点序列。
  • d:返回的最短路径的长度(或权重和)。
% 定义图的边和权重
s = [9 9 1 1 3 3 3 2 2 5 5 7 7 8]; % 起始节点编号
t = [1 2 2 3 4 6 7 4 5 4 7 6 8 6]; % 终止节点编号
w = [4 8 3 8 2 7 4 1 6 6 2 14 10 9]; % 边的权重% 创建一个图形对象 G
G = graph(s,t,w);% 绘制图形 G,并将边的权重添加到图形上
% G.Edges.Weight 表示图形对象 G 中所有边的权重值,'EdgeLabel' 表示在图形上显示这些权重值
plot(G, 'EdgeLabel', G.Edges.Weight, 'linewidth', 2)
% 隐藏图形的坐标轴
set( gca, 'XTick', [], 'YTick', [] );% shortestpath 函数计算从节点 9 到节点 8 的最短路径和路径长度,并将路径和路径长度分别存储在 P 和 d 中
[P,d] = shortestpath(G, 9, 8);
% 在图形 G 中高亮显示最短路径
% highlight 函数高亮图形对象 myplot 中的路径 P,'EdgeColor', 'r' 表示将路径颜色设置为红色。
myplot = plot(G, 'EdgeLabel', G.Edges.Weight, 'linewidth', 2);
highlight(myplot, P, 'EdgeColor', 'r')

运行结果:
在这里插入图片描述

三、代码实现----python

在 Python 中,可以使用 NetworkX 库和 Matplotlib 库来实现带有权重的无向图的创建和绘制。

import networkx as nx
import matplotlib.pyplot as plt# 定义图的边和权重
edges = [(9, 1, 4), (9, 2, 8), (1, 2, 3), (1, 3, 8), (3, 4, 2), (3, 6, 7), (3, 7, 4), (2, 4, 1), (2, 5, 6), (5, 4, 6), (5, 7, 2), (7, 6, 14), (7, 8, 10), (8, 6, 9)]# 创建一个有加权边的图形对象 G
G = nx.Graph()  
G.add_weighted_edges_from(edges)# 计算从节点 9 到节点 8 的最短路径和路径长度
path = nx.shortest_path(G, source=9, target=8, weight='weight')
path_length = nx.shortest_path_length(G, source=9, target=8, weight='weight')# 绘制图形 G,并将边的权重添加到图形上
pos = nx.spring_layout(G)  # 计算节点位置
nx.draw(G, pos, with_labels=True, node_color='lightblue', edge_color='gray', node_size=500, font_size=10, width=2)
edge_labels = nx.get_edge_attributes(G, 'weight')
nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)# 在图形 G 中高亮显示最短路径
path_edges = list(zip(path, path[1:]))
nx.draw_networkx_edges(G, pos, edgelist=path_edges, edge_color='r', width=2)# 隐藏图形的坐标轴
plt.gca().set_xticks([])
plt.gca().set_yticks([])# 显示结果
print('最短路径:', path)
print('最短路径长度:', path_length)plt.show()

运行结果:
在这里插入图片描述
在这里插入图片描述

总结

本文介绍了使用图论求最短路径,并通过典型示例建立模型,分别使用Matlab和python进行代码编写。

http://www.shuangfujiaoyu.com/news/42340.html

相关文章:

  • wordpress 添加优化大师电脑版下载
  • 嘉兴高端网站定制seo基础入门视频教程
  • 龙岗企业网站设计公司关于进一步优化当前疫情防控措施
  • 做网站制作需要多少钱百度一下电脑版首页网址
  • 无锡做网站公司电话域名搜索
  • 电商网站建设考试题营销与销售的区别
  • 北京网站建设价格天山东潍坊疫情最新消息
  • wordpress 主题吧搜索引擎优化的目的是
  • 教你做cpa单页网站网络热词2021流行语
  • wordpress视频站模板什么推广平台好
  • 建立网站的顺序网站优化效果
  • 怎么让网站绑定域名访问友情链接交换软件
  • 网站做用户记录伊春seo
  • 网站建设分金手指科捷11宁波seo博客
  • 网站共享备案可以申请支付接口重庆seo代理计费
  • 企业网站开发douyanet公司网页制作需要多少钱
  • 什么网站可以做ui兼职排名优化公司哪家效果好
  • 网站的建设与维护就业方向展示型网站有哪些
  • 企业管理系统数据库四川seo推广公司
  • 一级a做美国片免费网站合肥网络公司排名
  • 如何建立一个外贸网站崇左网站建设
  • 苏州有什么好玩的地方适合年轻人基础建站如何提升和优化
  • wordpress怎么做网站搜索引擎优化是什么?
  • wordpress apache版本号长沙seo网站推广
  • asp网站制作实例教程交换链接营销的经典案例
  • 上海网站建设备案号新闻10条摘抄大全
  • 个人博客网站建设龙岗网站建设公司
  • 网站优化自已做还是请人做网站开发教程
  • 阜宁网站建设找哪家好武汉seo优化服务
  • 建设网站开发的语言有哪些常见的推广方式