科技园网站建设/宁波正规站内优化seo

科技园网站建设,宁波正规站内优化seo,哪些网站可以上传自己做的视频,做网站的基本流程一.邻接矩阵法存储不带权图: 结点不带权值: 1.左图的无向图中,A到B直达的有一条路,所以A行B列的值为1; 左图的无向图中,A到F没有直达的路,所以A行F列的值为0; 结论:无…

一.邻接矩阵法存储不带权图:

结点不带权值:

1.左图的无向图中,A到B直达的有一条路,所以A行B列的值为1;

左图的无向图中,A到F没有直达的路,所以A行F列的值为0;

结论:无向图中采用邻接矩阵法,0表示两个顶点不邻接,1表示两个顶点邻接,边对应两个1;

2.右图的有向图中,A到B直达的有一条路,所以A行B列的值为1,

B到A没有直达的路,所以B行A列的值为0;

结论:有向图中采用邻接矩阵法,1表示有向边(弧),有向边(弧)对应一个1;

3.上述图片中的代码,顶点表是要存入边表的即表中存点;

4.顶点表也可以是其他类型,如整型,自定义数据类型;

5.int型表示边占4个字节(4B)或者8个字节(8B),用bool型或枚举型变量表示边则占1个字节(1B);

6.注:表中的顶点是有下标(编号)的,这样是为了在表中方便寻找两个顶点的关系,如A的下标为0,B的下标为1,这样比如在左图的无向图中只需要找第0行第1列就可以查找顶点A和B的关系;

7.如何求顶点的度(针对无向图和有向图),入度和出度(只针对有向图):

  • 无向图:如上述图片中的B结点,在B结点这一行中,有几个非0元素就有几个度,显然A,E,F列为1即不为0,因此B的度为3(看B结点这一列也可以,结果一致)

结论:第i个结点的度=第i行(第i列)的非零元素个数,时间复杂度为O(n)或者O(|v|),v是顶点数

  • 有向图:某个结点的出度的个数就是该结点所在行(不能是列)中非0元素的个数,如A结点的出度为1;

    某个结点的入度的个数就是该结点所在列(不能是行)中非0元素的个数,如A结点的入度为2;

    有向图中某个结点的度等于该结点入度的个数加出度的个数,时间复杂度为O(n)或者O(|v|),v是顶点

    数,因此A结点的度为3;


二.邻接矩阵法存储带权图(网):

1.带权图中存储的就是权值,比如左图的无向图A直达B的权值为5,那么A行B列的值为5,

左图的无向图B直达C不存在权值即B直达不了C,那么B行C列的值可以用无穷来表示;

2.权值的类型可以是整型,浮点型或者自定义数据类型等;

3.有时也会把自己指向自己的权值设为0,如A到A的权值为0;

4.邻接矩阵法存储带权图(网)中结点到结点的权值如果为0或者是无穷,那么表示与之对应的两个结点之间不存在边:


三.邻接矩阵法的性能分析:

1.如果图中有n个顶点(结点),那么存储该图的顶点就需要一个一维数组,此时存储顶点的空间复杂度为O(n),

还需要定义一个n * n的二维数组来存储和这些顶点相关的边的信息,所以存储边的空间复杂度为O(n * n),

所以总共空间复杂度为O(n)+O(n * n),等价于O(n * n),

结论:邻接矩阵法的空间复杂度为O(n * n)或O(|v| * |v|),v为顶点数-->只和顶点数有关,和实际的边数无关,导致的弊端就是如果顶点很多,但边比较少,就会使得存储边的二维数组空间浪费,因此邻接矩阵法适用于存储稠密图即边多的图;


四.邻接矩阵法的性质:讨论不带权值的图即矩阵元素只有0,1

0表示从一个顶点到另一个顶点没有路径,1表示从一个顶点到另一个顶点有路径,

A到B到D的长度为2,符合要找的路径长度,所以算了进去;

注:简单图中自己到自己的权值为0;

上述图片中右下角的矩阵中的值表示的是顶点到顶点长度为2的路有几条,如A行C列中顶点A到顶点C长度为2的路有1条;


五.总结:

邻接矩阵法的空间复杂度为O(n*n),n为顶点数,由此可看出邻接矩阵法的空间复杂度较高,不适合存储稀疏图,如果使用邻接矩阵法存储稀疏图,会造成大量的空间浪费。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【VB语言】EXCEL中VB宏的应用

【VB语言】EXCEL中VB宏的应用 文章目录 [TOC](文章目录) 前言一、EXCEL-VB1.实验过程2.代码 二、EXCEL-VB 生成.c.h文件1.实验过程2.代码 四、参考资料总结 前言 1.WPS-VB扩展包 提示:以下是本篇文章正文内容,下面案例可供参考 一、EXCEL-VB 1.实验过…

2025年02月17日Github流行趋势

项目名称:OmniParser 项目地址url:https://github.com/microsoft/OmniParser 项目语言:Jupyter Notebook 历史star数:8971 今日star数:969 项目维护者:yadong-lu, ThomasDh-C, aliencaocao, nmstoker, kris…

RocketMQ 5.0安装部署

0.前言 在微服务架构逐渐成为主流的今天,消息队列如同数字世界的快递员,承担着系统间高效通信的重要使命。 Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余…

Ubuntu 22.04.5 LTS 安装企业微信,(2025-02-17安装可行)

一、依赖包(Ubuntu 20.04/Debian 11) 点击下载https://www.spark-app.store/download_dependencies_latest 1、 下载最新的依赖包。 请访问星火应用商店依赖包下载页面, 下载最新的依赖包。2、解压依赖包 </

Java高频面试之SE-22

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天又来了&#xff01;哈哈哈哈哈嗝&#x1f436; Java中的Optional了解多少&#xff1f; 在 Java 中&#xff0c;Optional 是 Java 8 引入的一个容器类&#xff0c;用于显式处理可能为 null 的…

使用OBS和nginx实现直播流

使用OBS和nginx实现直播流&#xff0c;如 1&#xff0c;下载OBS OBS用于视频录制和直播的免费开源软件。在 Windows、Mac 或 Linux 上快速轻松地下载并开始流式传输。官网下载 2&#xff0c;下载nginx 注意nginx需要下载带gryghon版本&#xff0c;这个才有rtmp模块&#xff0…

PyTorch 源码学习:阅读经验 代码结构

分享自己在学习 PyTorch 源码时阅读过的资料。本文重点关注阅读 PyTorch 源码的经验和 PyTorch 的代码结构。因为 PyTorch 不同版本的源码实现有所不同&#xff0c;所以笔者在整理资料时尽可能按版本号升序&#xff0c;版本号见标题前[]。最新版本的源码实现还请查看 PyTorch 仓…

小爱音箱控制手机和电视听歌的尝试

最近买了小爱音箱pro&#xff0c;老婆让我扔了&#xff0c;吃灰多年的旧音箱。当然舍不得&#xff0c;比小爱还贵&#xff0c;刚好还有一台红米手机&#xff0c;能插音箱&#xff0c;为了让音箱更加灵活&#xff0c;买了个2元的蓝牙接收模块Type-c供电3.5接口。这就是本次尝试起…

Pycharm+CodeGPT+Ollama+Deepseek

首先&#xff0c;体验截图&#xff1a; 接着&#xff1a; 1、下载Ollama&#xff1a; Download Ollama on macOS 2、下载模型 以1.5b为例&#xff0c;打开命令行&#xff0c;输入: ollama run deepseek-r1:1.5b 3、Pycharm安装Code GPT插件 打开PyCharm&#xff0c;找到文…

25/2/17 <嵌入式笔记> 桌宠代码解析

这个寒假跟着做了一个开源的桌宠&#xff0c;我们来解析下代码&#xff0c;加深理解。 代码中有开源作者的名字。可以去B站搜着跟着做。 首先看下main代码 #include "stm32f10x.h" // Device header #include "Delay.h" #include &quo…

Qt中基于开源库QRencode生成二维码(附工程源码链接)

目录 1.QRencode简介 2.编译qrencode 3.在Qt中直接使用QRencode源码 3.1.添加源码 3.2.用字符串生成二维码 3.3.用二进制数据生成二维码 3.4.界面设计 3.5.效果展示 4.注意事项 5.源码下载 1.QRencode简介 QRencode是一个开源的库&#xff0c;专门用于生成二维码&…

【Android开发】华为手机安装包安装失败“应用是非正式版发布版本,当前设备不支持安装”问题解决

问题描述 我们将Debug版本的安装包发送到手机上安装&#xff0c;会发现华为手机有如下情况 解决办法 在文件gradle.properties中粘贴代码&#xff1a; android.injected.testOnlyfalse 最后点击“Sync now”&#xff0c;等待重新加载gradle资源即可 后面我们重新编译Debug安装…

前端面试手写--虚拟列表

目录 一.问题背景 二.代码讲解 三.代码改装 四.代码发布 今天我们来学习如何手写一个虚拟列表,本文将把虚拟列表进行拆分并讲解,然后发布到npm网站上. 一.问题背景 为什么需要虚拟列表呢?这是因为在面对大量数据的时候,我们的浏览器会将所有数据都渲染到表格上面,但是渲…

vue项目本地svg图标使用

提前准备&#xff1a; 1、一个本地的svg图片 这个直接从网上找一个就行 2、文件整体目录 安装插件 npm i vite-plugin-svg-iconsvite.config.ts中配置插件 完整代码 import { fileURLToPath, URL } from node:url import { resolve } from path import { defineConfig } f…

Go: 使用VS Code配置Go项目支持Windows与Linux双系统调试

在现代软件开发中&#xff0c;越来越多的开发者开始使用VS Code等集成开发环境&#xff08;IDE&#xff09;来提高生产力&#xff0c;特别是在支持远程开发时。VS Code的远程SSH功能&#xff0c;使得开发者可以在本地Windows电脑上&#xff0c;通过远程SSH连接到Linux服务器&am…

python中使用数据库sqlite3

Python使用sqlite3数据库 python3.x标准库内置了SQLite3 查看sqlite的版本 import sqlite3 sqlite_version sqlite3.sqlite_version print(f"SQLite version: {sqlite_version}") 显示 导入模块连接sqlitte3 import sqlite3 consqlite3.connect("d:/fi…

maven使用默认settings.xml配置时,Idea基于pom.xml更新依赖时报错,有些组件下载时连接超时

1、问题背景&#xff1a;maven使用默认settings.xml配置时&#xff0c;Idea基于pom.xml更新依赖时报错&#xff0c;有些组件下载时连接超时&#xff0c; 通过日志发下&#xff0c;去连接maven.org网站下载依赖&#xff0c;有时候肯定会超时。 2、解决办法&#xff1a;使用国外…

小狐狸ai3.1.2版本源码无授权版本内 含搭建教程+各种上线教程

内容目录 一、详细介绍小狐狸3.1.2版本源码&#xff0c;新增deepseek接口 文件夹说明&#xff1a; 1、后端&#xff1a;文件夹是后台文件 5、.sql文件是数据库文件后台安装步骤&#xff1a; 1、在宝塔新建个站点&#xff0c;php版本使用7.4&#xff0c;将“后端”文件夹里的文件…

C#之上位机开发---------C#通信库及WPF的简单实践

〇、上位机&#xff0c;分层架构 界面层 要实现的功能&#xff1a; 展示数据 获取数据 发送数据 数据层 要实现的功能&#xff1a; 转换数据 打包数据 存取数据 通信层 要实现的功能&#xff1a; 打开连接 关闭连接 读取数据 写入数据 实体类 作用&#xff1a; 封装数据…

今日行情明日机会——20250217

2025年02月17日行情 后续投资机会分析 根据最新盘面信息&#xff0c;以下板块和个股具备潜在投资机会&#xff0c;需结合市场动态和基本面进一步验证&#xff1a; 1. 腾讯系AI&#xff08;18家涨停&#xff09; 核心逻辑&#xff1a;涨停家数最多&#xff08;18家&#xff0…