企业seo整站优化方案网站开发的实训周的实训过程

web/2025/9/29 7:10:37/文章来源:
企业seo整站优化方案,网站开发的实训周的实训过程,漫画网站开发源码,托管服务平台图算法在计算机科学中占有重要地位#xff0c;广泛应用于网络连接、路径查找、社会网络分析等领域。本文将介绍几种常见的图算法#xff0c;包括Dijkstra算法、Bellman-Ford算法、Floyd-Warshall算法、Kruskal算法和Prim算法#xff0c;并提供相应的Python代码示例。 图的基…图算法在计算机科学中占有重要地位广泛应用于网络连接、路径查找、社会网络分析等领域。本文将介绍几种常见的图算法包括Dijkstra算法、Bellman-Ford算法、Floyd-Warshall算法、Kruskal算法和Prim算法并提供相应的Python代码示例。 图的基本概念 图由节点顶点和节点之间的边组成的集合。图可以是有向图或无向图。有向图边有方向即边的起点和终点是有序的。无向图边没有方向即边的起点和终点是无序的。权重边可以有一个数值表示从一个节点到另一个节点的代价或距离。 1. Dijkstra算法最短路径 简介Dijkstra算法用于计算单源最短路径即从一个起始节点到所有其他节点的最短路径。它适用于非负权重的图通过贪心策略逐步找到最短路径。 实现过程 初始化距离数组dist起始节点到自身的距离为0其余为无限大。使用优先队列最小堆存储节点及其当前最短距离。每次从队列中取出距离最小的节点更新其邻接节点的距离。重复上述过程直到所有节点的最短距离都被确定。 Python代码 import heapqdef dijkstra(graph, start):dist {node: float(inf) for node in graph}dist[start] 0priority_queue [(0, start)]while priority_queue:current_dist, current_node heapq.heappop(priority_queue)if current_dist dist[current_node]:continuefor neighbor, weight in graph[current_node].items():distance current_dist weightif distance dist[neighbor]:dist[neighbor] distanceheapq.heappush(priority_queue, (distance, neighbor))return dist# 示例 graph {A: {B: 1, C: 4},B: {A: 1, C: 2, D: 5},C: {A: 4, B: 2, D: 1},D: {B: 5, C: 1} } print(dijkstra(graph, A))2. Bellman-Ford算法最短路径 简介Bellman-Ford算法用于计算单源最短路径允许图中存在负权边。该算法通过反复更新边的权重来找到最短路径。 实现过程 初始化距离数组dist起始节点到自身的距离为0其余为无限大。进行|V|-1次松弛操作每次遍历所有边并更新距离。检查是否存在负权回路如果在第|V|次松弛操作中还能更新距离说明存在负权回路。 Python代码 def bellman_ford(graph, start):dist {node: float(inf) for node in graph}dist[start] 0for _ in range(len(graph) - 1):for node in graph:for neighbor, weight in graph[node].items():if dist[node] weight dist[neighbor]:dist[neighbor] dist[node] weight# 检查负权回路for node in graph:for neighbor, weight in graph[node].items():if dist[node] weight dist[neighbor]:return Graph contains a negative-weight cyclereturn dist# 示例 graph {A: {B: 1, C: 4},B: {A: 1, C: 2, D: 5},C: {A: 4, B: 2, D: 1},D: {B: 5, C: 1} } print(bellman_ford(graph, A))3. Floyd-Warshall算法全对全最短路径 简介Floyd-Warshall算法用于计算所有节点之间的最短路径。它利用动态规划的思想通过逐步更新路径长度来找到最短路径。 实现过程 初始化距离矩阵dist对角线为0其余为边的权重或无限大。对每一对节点检查通过中间节点的路径是否更短若是则更新距离。重复上述过程直到所有节点之间的最短路径都被确定。 Python代码 def floyd_warshall(graph):nodes list(graph.keys())dist {node: {node2: float(inf) for node2 in nodes} for node in nodes}for node in nodes:dist[node][node] 0for node in graph:for neighbor, weight in graph[node].items():dist[node][neighbor] weightfor k in nodes:for i in nodes:for j in nodes:if dist[i][j] dist[i][k] dist[k][j]:dist[i][j] dist[i][k] dist[k][j]return dist# 示例 graph {A: {B: 1, C: 4},B: {A: 1, C: 2, D: 5},C: {A: 4, B: 2, D: 1},D: {B: 5, C: 1} } print(floyd_warshall(graph))4. Kruskal算法最小生成树 简介Kruskal算法用于计算最小生成树MST即连接所有节点且总权重最小的树。该算法适用于无向加权图通过贪心策略每次选择权重最小的边保证不形成环。 实现过程 初始化每个节点的父节点和秩用于实现并查集。按权重升序排序所有边。依次选择最小权重的边若不形成环则加入生成树。使用并查集检测环的形成。 Python代码 class UnionFind:def __init__(self, n):self.parent list(range(n))self.rank [0] * ndef find(self, u):if self.parent[u] ! u:self.parent[u] self.find(self.parent[u])return self.parent[u]def union(self, u, v):root_u self.find(u)root_v self.find(v)if root_u ! root_v:if self.rank[root_u] self.rank[root_v]:self.parent[root_v] root_uelif self.rank[root_u] self.rank[root_v]:self.parent[root_u] root_velse:self.parent[root_v] root_uself.rank[root_u] 1def kruskal(edges, n):uf UnionFind(n)mst []edges.sort(keylambda x: x[2]) # 按权重排序边for u, v, weight in edges:if uf.find(u) ! uf.find(v):uf.union(u, v)mst.append((u, v, weight))return mst# 示例 edges [(0, 1, 1),(0, 2, 4),(1, 2, 2),(1, 3, 5),(2, 3, 1) ] n 4 # 节点数量 print(kruskal(edges, n))5. Prim算法最小生成树 简介Prim算法也是一种用于计算最小生成树的算法适用于连通无向加权图。它通过贪心策略每次选择连接生成树和未访问节点的最小权重边。 实现过程 初始化距离数组dist起始节点到自身的距离为0其余为无限大。使用优先队列最小堆存储节点及其当前最短距离。每次从队列中取出距离最小的节点加入生成树并更新其邻接节点的距离。重复上述过程直到所有节点都被访问。 Python代码 import heapqdef prim(graph, start):mst []visited set()min_heap [(0, start, None)] # (权重, 当前节点, 父节点)while min_heap:weight, node, parent heapq.heappop(min_heap)if node not in visited:visited.add(node)if parent is not None:mst.append((parent, node, weight))for neighbor, edge_weight in graph[node].items():if neighbor not in visited:heapq.heappush(min_heap, (edge_weight, neighbor, node))return mst# 示例 graph {A: {B: 1, C: 4},B: {A: 1, C: 2, D: 5},C: {A: 4, B: 2, D: 1},D: {B: 5, C: 1} } print(prim(graph, A))这一章的图算法和上一章的动态规划都在运筹学中运用较多。是运筹优化和决策的不二之选。

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

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

相关文章

网站建设后台有哪些东西金顶街网站建设

文章目录 CNI网络FlannelUDP模式VXLAN模式部署flannel CalicoCalico模式Calico部署 flannel 和 calico 区别 CNI网络 K8S 中 Pod 网络通信: Pod 内容器与容器之间的通信 在同一个 Pod 内的容器(Pod 内的容器是不会跨宿主机的)共享同一个网络命…

网站建设推广注册公司专业企业网站制作

一、背景分析 近几年,国内无人机市场随着航拍等业务走进大众,出现爆发式增长。无人机除了在民用方面的应用越来越多,在其他领域也已经开始广泛应用,比如公共安全、应急搜救、农林、环保、交通 、通信、气象、影视航拍等。无人机使…

免费网站建设空间移动互联网应用程序管理情况

文章目录 一、日志处理二、事务控制三、参数校验四、自定义注解五、AOP 方法失效问题1. ApplicationContext2. AopContext3. 注入自身 六、附录1. 示例代码 AOP 提供了一种面向切面操作的扩展机制,通常这些操作是与业务无关的,在实际应用中,可…

seopeixun com cn搜索引擎优化至少包括哪几步

写时拷贝底层原理图 子进程谁先运行,由调度器决定 进程退出场景 代码运行完毕,结果正确:有返回值,返回0 代码运行完毕,结果不正确:有返回值,返回非0 代码异常终止。没有返回值 return 0的…

网站开发项目实训总结宝塔window搭建wordpress

本文由 极客范 - 踏雁寻花 翻译自 Balakrishnan Mariyappan。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。在Linux系统中,输入一个命令,再按两次TAB键,就会列出所有以输入字符开头的可用命令。这并…

怎么样做推广网站买域名在哪里买

DashBoard(仪表盘)Logging(日志)Core Admin(Core管理)在Solr中,每一个Core,代表一个索引库,里面包含索引数据及其配置信息。Solr中可以拥有多个Core,也就同时…

免费建站软件哪个最好wordpress 图像描述

一、概述这篇文章主要分享Endpoint 终结点路由的中间件的应用场景及实践案例,不讲述其工作原理,如果需要了解工作原理的同学, 可以点击查看以下两篇解读文章:•Asp.Net Core EndPoint 终结点路由工作原理解读•ASP.NET CORE 管道模…

网站收录图片承德市人才信息网

高通8255芯片首次烧写需要进行分区烧写,方法如下: 目录 一:QFIL安装 二:关于QFIL详细文档 三:简要分区烧写方法 1烧写 meta build 2 然后重启一下机器 3 烧写 flat build 四:正常烧写程序 一&#…

惠阳住房和建设局网站天津制作网站公司

python技术面试题 1、Python中的幂运算 在python中幂运算是由两个 **星号运算的,实例如下: >>> a 2 ** 2 >>> a 4我们可以看到2的平方输出结果为4。 那么 ^指的是什么呢?我们用代码进行演示: >>>…

外行学习个人网站建设wordpress最新列表页

问题:在利用CityEngine导入影像和地形时,会出现影像或地形不显示的问题。 分析:这主要是由影像、地形的尺寸大小和像素深度两个因素导致的。 解决: 1.调整尺寸 首先看一下影像和地形的大小。我们知道CityEngine并不是一个展示平台…

网站建设专业网站设计公司物格网昔阳做网站公司

2024杭州设备维护与状态监测、故障诊断及维护技术展(5月) 2024中国(杭州)国际设备维护与状态监测、故障诊断及维护技术展览会 展会时间:2024年5月10-12日 展会地点:杭州国际博览中心 主办单位:上…

某网站优化方案移动互联网技术学什么

目录 安装在线安装离线安装 配置mysql5.7bitnami/mysql8.3redisweb前后台分离部署前端https(SSL)配置nginx动态传参资源限制:内存、cpunacossentinelgateway 问题汇总iptables No chain/target/match by that namedocker-compose.yml修改mysql密码,重启后…

手机可以看的网站建设电影会员网站首页

如今装修最受关注也最让人头疼的就是儿童房装修了,身边二胎家庭、双胞胎家庭也是越来越多,如果户型小,再面对那只有几十平的小户型,2个孩子无法避免的要挤一间卧室!所以对于儿童床的摆放和收纳该如何合理安排呢&#x…

电商网站建设的关键电商型网站开发多少钱

一、实现全局跨域:新建一个Controller,其它的controller都继承它 1、新建BaseController 2、在后端配置,此处省略【详情见第12讲四、3、】 3、其它的控制器继承BaseController,这个时候就能够完成全局的跨域 【向后台传cookie和…

大学网站模板htmlc2c模式特点

路由跳转场景 页面跳转是路由最常用的能力,Navigation通过NavPathStack提供了诸多方法,下文以pushDestination方法为例,介绍Navigation的路由跳转相关能力。 页面间跳转 NavPathStack提供了路由管理的能力,通过NavPathStack进行…

没内容的网站怎么优化电商网站创办过程

大家好,我是电商小布。 当前的互联网时代下,电商无疑是最炙手可热的行业。 各种各样电商项目的出现,给了我们大家更多的机会选择,并从中来享受到流量至上的魅力。 腾讯旗下的视频号小店就是其中之一。 这个项目是依靠于视频号…

上海网站建设流程用户界面设计的基本原则

Docker基本概念 1.Docker概述1.1 Docker是什么?1.2 Docker的宗旨1.3 容器的优点1.4 Docker与虚拟机的区别1.5 容器在内核中支持的两种技术1.6 namespace的六大类型 2.Docker核心概念2.1 镜像2.2 容器2.3 仓库 3. 知识点总结3.1 Docker是什么?3.2 容器和虚…

宣武网站建设有个网站做彩盒的

参考文章:【SpringBoot】之创建自定义 SpringBoot-Starter_springboot创建starter_王廷云的博客的博客-CSDN博客 源码包和jar: https://download.csdn.net/download/tiantangpw/88045999 自己写的starter;使用的apache-commons-email 包内包含源码和已打包的jar,亲测可用,可以…

网站 title 被修改大学网站建设管理办法信息化

上文介绍了品牌隔离的基本原理,就是通过不同的前端和微服务来实现。但是确实很多功能是类似的,所以从编程角度还是有些管理手段的。 前端部分:前端部分没有什么特别手段,就是两个独立的项目工程,分别维护。相同的部分复…

wordpress群站58同城兰州网站建设

文章目录 一、项目目录层级组织概念1.1 cargo new 创建同名 的 Project 和 crate1.2 多 crate 的 package1.3 mod 模块1.3.1 创建嵌套 mod1.3.2 mod 树1.3.3 用路径引用 mod1.3.3.1 使用绝对还是相对? 1.3.4 代码可见性1.3.4.1 pub 关键字1.3.4.2 用 super 引用 mod1.3.4.3 用…