小说网站快速做排名wordpress 数据库宕机

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

小说网站快速做排名,wordpress 数据库宕机,中国跨境电商平台,网站域名过期不续费❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣#xff01; 推荐#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航#xff1a; LeetCode解锁100… ❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣 推荐数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航 LeetCode解锁1000题: 打怪升级之旅每题都包括3-5种算法以及详细的代码实现刷题面试跳槽必备漫画版算法详解通过漫画的形式和动态GIF图片把复杂的算法每一步进行详细可视解读看一遍就掌握python源码解读解读python的源代码与调用关系快速提升代码质量python数据分析可视化企业实战案例企业级数据分析案例与可视化提升数据分析思维和可视化能力程序员必备的数学知识与应用全面详细的介绍了工程师都必备的数学知识 期待与您一起探索技术、持续学习、一步步打怪升级 欢迎订阅本专栏❤️❤️ 引言 《庆余年》是一部引人入胜的古装剧讲述了范闲在风云变幻的朝堂与江湖中历险成长的故事。在这个复杂的世界中范闲需要不断地做出重要的决策要是范闲是学好算法穿越的话可以想象能有多强本文将通过一个情境展示如何使用Python中的Dijkstra算法来帮助范闲找到在京城内安全抵达目的地的最短路径。 背景 好的让我们设定一个范闲要到皇宫偷钥匙的情境并将各个点引用《庆余年》中的真实地名。我们将范府、街市、酒楼、戏院、客栈和皇宫作为节点并设置相应的路径距离。 地图节点及其关系 范府 (起点)街市 (A)酒楼 (B)戏院 (C客栈 (D)皇宫 (E) (终点) 路径距离 我们假设以下路径距离 范府到街市2范府到酒楼5街市到戏院4街市到客栈7酒楼到客栈3戏院到客栈1戏院到皇宫3客栈到皇宫2 情境图解 以下是这个情境的ASCII图解 范府/ \2/ \5/
街市—–酒楼| \ || \ || 4\ |3| \ || 7 \ || |客栈—戏院1\ 3 / \ / 皇宫算法和实现步骤 好的让我们详细介绍Dijkstra算法的算力和实现步骤并确保结合《庆余年》的情境清晰地展示范闲从范府到皇宫的最短路径。 Dijkstra算法简介 Dijkstra算法是一种经典的图搜索算法用于查找图中节点之间的最短路径。它以贪心的方式逐步扩展最短路径集直至找到目标节点。该算法适用于加权图并要求权重为非负数。 算力分析 时间复杂度Dijkstra算法的时间复杂度取决于使用的数据结构。使用优先队列如二叉堆时时间复杂度为O((V E) log V)其中V是节点数E是边数。空间复杂度空间复杂度为O(V)用于存储节点的距离和优先队列。 实现步骤 初始化 将起点的最短路径设置为0其余所有节点的最短路径设置为无穷大∞。将所有节点标记为未访问。使用优先队列最小堆存储节点及其当前的最短路径。 选取当前节点 从优先队列中取出当前最短路径最小的节点作为当前节点。 更新邻居节点的最短路径 对于当前节点的每一个邻居节点计算从起点到该邻居节点的路径长度。如果计算得到的路径长度小于当前存储的路径长度则更新该邻居节点的最短路径并将其重新加入优先队列。 标记节点为已访问 将当前节点标记为已访问。 重复步骤2-4直到所有节点都被访问过或优先队列为空。 返回结果 返回从起点到所有节点的最短路径。
Python实现Dijkstra算法 我们使用Dijkstra算法计算范闲从范府到皇宫的最短路径。 import heapqdef dijkstra(graph, start):# 初始化shortest_paths {node: float(inf) for node in graph}shortest_paths[start] 0priority_queue [(0, start)]visited set()while priority_queue:(current_distance, current_node) heapq.heappop(priority_queue)if current_node in visited:continuevisited.add(current_node)for neighbor, weight in graph[current_node].items():distance current_distance weightif distance shortest_paths[neighbor]:shortest_paths[neighbor] distanceheapq.heappush(priority_queue, (distance, neighbor))return shortest_paths# 示例图 graph {范府: {街市: 2, 酒楼: 5},街市: {范府: 2, 戏院: 4, 客栈: 7},酒楼: {范府: 5, 客栈: 3},戏院: {街市: 4, 客栈: 1, 皇宫: 3},客栈: {街市: 7, 酒楼: 3, 戏院: 1, 皇宫: 2},皇宫: {戏院: 3, 客栈: 2} }# 计算最短路径 start_node 范府 shortest_paths dijkstra(graph, start_node)# 输出结果 print(f从{start_node}出发到各节点的最短路径) for node, distance in shortestpaths.items():print(f到{node}的最短路径是{distance})好的我们将按照您提供的图进行详细的Dijkstra算法步骤解析。 算法图解 初始状态 每个节点的最短路径都设置为无穷大∞除了起点范府其最短路径为0 节点 最短路径 范府 0 街市 ∞ 酒楼 ∞ 戏院 ∞ 客栈 ∞ 皇宫 ∞ASCII图解 以下是详细标注的ASCII图解确保每个路径和距离准确对应 范府/ \2/ \5/
街市—–酒楼| \ || \ || 4\ |3| \ || 7 \ || |客栈—戏院1\ 3 / \ / 皇宫详细步骤图解 步骤1从范府距离为0出发更新邻居街市和酒楼的距离。 更新后 节点 最短路径 范府 0 街市 2 酒楼 5 戏院 ∞ 客栈 ∞ 皇宫 ∞图解 范府(0)/ \2/ \5/
街市(2) 酒楼(5)| \ || \ || 4\ |3| \ || 7 \ || |客栈(∞)戏院(∞)1\ 3 / \ / 皇宫(∞)步骤2选择当前距离最小的未访问节点街市更新街市的邻居戏院和客栈的距离。 更新后 节点 最短路径 范府 0 街市 2 酒楼 5 戏院 6 (24) 客栈 9 (27) 皇宫 ∞图解 范府(0)/ \2/ \5/
街市(2) 酒楼(5)| \ || \ || 4\ |3| \ || 7 \ || |客栈(9)戏院(6)1\ 3 / \ / 皇宫(∞)步骤3选择当前距离最小的未访问节点戏院更新戏院的邻居客栈和皇宫的距离。 更新后 节点 最短路径 范府 0 街市 2 酒楼 5 戏院 6 客栈 7 (61) 皇宫 9 (63)图解 范府(0)/ \2/ \5/
街市(2) 酒楼(5)| \ || \ || 4\ |3| \ || 7 \ || |客栈(7)戏院(6)1\ 3 / \ / 皇宫(9)步骤4选择当前距离最小的未访问节点客栈更新客栈的邻居皇宫的距离。 更新后 节点 最短路径 范府 0 街市 2 酒楼 5 戏院 6 客栈 7 皇宫 9 (72)图解 范府(0)/ \2/ \5/
街市(2) 酒楼(5)| \ || \ || 4\ |3| \ || 7 \ || |客栈(7)戏院(6)1\ 3 / \ / 皇宫(9)最终结果从范府到各个节点的最短路径为 从范府出发到各节点的最短路径 到范府的最短路径是0 到街市的最短路径是2 到酒楼的最短路径是5 到戏院的最短路径是6 到客栈的最短路径是7 到皇宫的最短路径是9通过这些步骤范闲最终找到从范府到皇宫的最短路径为9。 结论 通过本文我们展示了如何利用Python中的Dijkstra算法在《庆余年》中的情境下帮助范闲找到最优路径。虽然这只是一个虚构的例子但Dijkstra算法在现实世界中的应用广泛如交通导航、网络路由等。希望本文能帮助读者理解这一强大算法的基本原理和实现方法并激发出更多的创意将技术和艺术有机结合。 如果觉得这篇文对你有帮助的话记得一键三连关注、赞、收藏是对作者最大的鼓励非常感谢 ❥(^
-) ❤️❤️作者知识有限如有错误请各位大佬评论区批评指正不胜感激❥(^_-)