if 的理解
2024-08-31 16:56:30
1. if 实现集合的划分
比如著名的 Prim 算法(最小生成树),从某一确定的点出发,每次新加入的点,都是在已访问过的结点(u∈U)和未访问过(v∈V−U)的结点之间的边。这里的未被访问(V−U)该如何实现呢?
可以使用集合(set)及其各种操作,也可以简单地使用 if + 状态进行判断:
mst = [None]*vnum
# mst 为 None 表示尚未被访问
count = 0
cands = PrioQueue([0, 0, 0])
while count < vnum and not cands.is_empty():
w, u, v = cands.dequeue()
if mst[v]:
continue
mst[v] = ((u, v), w)
for vi, w in graph.out_edges(v):
if !mst[vi]:
cands.enqueue((w, v, vi))
最新文章
- 最新win7系统64位和32位系统Ghost装机稳定版下载
- 计时器js
- Gradle笔记系列(一)
- C++中有符号/无符号数比较
- springmvc+spring+mybatis分页查询实例版本3,添加条件检索
- ORACLE 基础知识积累
- Logback日志使用详解
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
- maven将本地jar包导入本地仓库
- android studio2.0出现的gradle问题,instant Run即时运行不了.
- P3047 [USACO12FEB]附近的牛Nearby Cows
- flutter image_picker使用照相机
- ORA-00444: background process DBRM failed while starting
- 开源性能测试工具Locust使用篇(二)
- .NetCore实践篇:分布式监控系统zipkin踩坑之路(二)
- ES系列十二、ES的scroll Api及分页实例
- Oracle 11G 安装图文教程
- 十、springcloud之Consul注销实例
- bzoj 2957 楼房重建 分块
- Spark Streaming资源动态分配和动态控制消费速率
热门文章
- js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join
- Spring学习总结(3)——Spring配置文件详解
- UVA10269 Adventure of Super Mario(Floyd+DP)
- ArcGIS api for javascript——加载图标
- 从头认识java-18.2 主要的线程机制(5)-守护线程与非守护线程
- swift 笔记 (十一) —— 方法(类,结构体,枚举)
- WordPress改动新用户注冊邮件内容--自己定义插件
- 【POJ3377】Ferry Lanes 最短路
- 如何卸载visualsvn for visual studio
- Android Design Support Library初探,NavigationView实践