首页 > 编程语言 >python第六章课后习题

python第六章课后习题

时间:2024-10-22 17:45:09浏览次数:5  
标签:cost min python mst costs 课后 print 习题 dp

点击查看代码


print("学号:2023310143028")

点击查看代码
  
def prim(graph, start):  
    num_nodes = len(graph)  
    visited = [False] * num_nodes  
    min_heap = [(0, start, -1)]   
    mst_cost = 0  
    mst_edges = []  
  
    while min_heap:  
        weight, u, parent = heapq.heappop(min_heap)  
        if visited[u]:  
            continue  
        visited[u] = True  
        mst_cost += weight  
        if parent != -1:  
            mst_edges.append((parent, u, weight))  
  
        for v in range(num_nodes):  
            if not visited[v] and graph[u][v] != 0:  
                heapq.heappush(min_heap, (graph[u][v], v, u))  
  
    return mst_cost, mst_edges  
    
graph = [  
    [0,20,0,0,15,0],  
    [20,0,20,60,25,0],  
    [0,20,0,30,18,0],  
    [0,60,30,0,35,10],  
    [0,0,0,10,15,0]  
]  
  
mst_cost, mst_edges = prim(graph, 0)  
print("Prim's MST Cost:", mst_cost)  
print("Prim's MST Edges:", mst_edges)
 
print("学号:3028")


print("学号:2023310143028")

点击查看代码
import heapq  initial_costs = [2.5, 2.6, 2.8, 3.1] 
salvage_values = [2.0, 1.6, 1.3, 1.1]  
maintenance_costs = [0.3, 0.8, 1.5, 2.0]  
 
dp = [[float('inf')] * 2 for _ in range(4)] 
dp[0][1] = initial_costs[0] + maintenance_costs[0]  
  
for i in range(1, 4):  
    dp[i][1] = min(dp[i-1][1] + maintenance_costs[i],  
                   initial_costs[i] + maintenance_costs[i])  
 
    if i > 0:  
        dp[i][0] = dp[i-1][1] + salvage_values[i-1] 
  
min_cost = min(dp[3][1],  
               min(dp[i][0] for i in range(3)))  
  
 
print(f"最优更新策略下的4年内最小总费用为:{min_cost}万元")  
 
print("学号:3028")


print("学号:2023310143028")

标签:cost,min,python,mst,costs,课后,print,习题,dp
From: https://www.cnblogs.com/5227abc/p/18492289

相关文章

  • Python 数据分析与可视化有什么区别
    在当今的数据驱动时代,Python已成为数据分析和数据可视化的重要工具。尽管这两个领域经常在数据科学项目中相互交织,但它们在功能和目的上存在本质区别。本文旨在详细探讨Python在数据分析和数据可视化方面的差异,包括它们的定义、使用的主要库、应用场景以及在实际项目中的作用。通......
  • python第四章课后习题
    点击查看代码importnumpyasnpimportcvxpyascpx=cp.Variable(6,pos=True)obj=cp.Minimize(x[5])a1=np.array([0.025,0.015,0.055,0.026])a2=np.array([0.05,0.27,0.19,0.185,0.185])a3=np.array([1,1.01,1.02,1.045,1.065])k=0.05;kk=[];qq=[]whil......
  • Python教程:Python父类方法重写
    在Python中,子类可以通过定义与父类同名的方法来重写(Override)父类的方法。这种机制允许子类提供特定的实现,以替代从父类继承的通用实现。重写父类方法时,子类方法将覆盖父类方法的行为,但子类仍然可以访问父类方法的原始实现(如果需要的话)。以下是一个简单的示例,展示了如何在Py......
  • python3 class的使用
     1.class的使用和定义#!/usr/bin/python3classJustCounter:__secretCount=0#私有变量publicCount=0#公开变量defcount(self):self.__secretCount+=1self.publicCount+=1print(self.__secretCount)coun......
  • Python中的时间戳转换
    在Python中,可以使用time模块来进行时间与时间戳的转换。具体如下:1.时间转时间戳:使用time.mktime()函数,将时间元组作为参数传入即可。importtimedate_tuple=(2022,1,1,12,0,0,0,0,0)timestamp=time.mktime(date_tuple)print(timestamp) #输出:1641052800.......
  • Mirascope: 优雅简洁的Python LLM库
    Mirascope简介Mirascope是一个为Python开发者设计的优雅简洁的大语言模型(LLM)库。它的目标是为LLMAPI提供类似于requests库对http的开发体验。Mirascope的核心理念是提供恰到好处的抽象,让开发者能够以自己的方式构建LLM应用,同时保持模块化、可扩展和可靠性。MirascopeLogo......
  • Python 学生管理系统实现与详解
            在当今数字化的时代,学生管理系统对于学校和教育机构来说至关重要。它可以帮助管理人员高效地处理学生信息,提高工作效率。本文将详细介绍一个使用Python实现的学生管理系统,并对其代码进行深入分析。一、项目背景与需求        学生管理系统是为了......
  • 两句话讲清楚wsl+docker+python开发环境配置
    两句话讲清楚wsl+docker+python开发环境配置目录两句话讲清楚wsl+docker+python开发环境配置写在前面解决方案写在前面背景:win10下wsl+docker整好了之后,还要做什么,windows下载的东西怎么到docker容器里面?win->wsl->容器怎么传好使?准备先配置:wsl+docker,教程我独立出来了doc......
  • 二叉树习题其三-Java【力扣】【算法学习day.10】
    前言书接上篇文章二叉树习题其二,这篇文章我们将基础拓展###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!习题1.从中序与后序遍历序......
  • django源码基于Python网络爬虫的电子产品信息查询数据可视化分析系统
    目录具体实现截图源码获取地址下载预期达到的目标技术栈编码规范开发技术介绍系统的稳定性和可维护性核心代码部分展示具体实现截图源码获取地址下载点击获取–>下载本项目源码数据库预期达到的目标1、学习系统开发和设计的技术相关知识和工作流程;2、学习使......