算法第十二期——BFS-判重

目录

BFS判重

Python判重方法: set、字典

set()判重

字典判重

 例题:跳蚱蜢

思路 

 【建模】

去重

代码一:字典去重(用list实现队列)

代码二:set()去重(用list实现队列)

代码二:set()去重(用deque实现队列) 推荐!


BFS判重

  • BFS=队列
  • BFS:逐步扩展下一层,把扩展出的下一层状态放进队列中处理。
  • 判重:若这些状态有相同的,只搜索一次,即进入队列一次,提高运行效率。

Python判重方法: set、字典

set()判重

  • set()函数创建一个无序、不重复元素集
  • 关系测试删除重复数据,计算交集、差集、并集、补集
# 对字符串去重
a = set ()
a.add("678"); print(a) # {'678'}
a.add("123"); print(a) # {'678', '123'}
a.add("678"); print(a) # {'678', '123'} 去重
b=sorted(a);  print(b) # ['123', '678'] sorted()返回的是列表
# 不能用sort(),因为sort()是list的方法

# 对单个字符串去重是对每个字母去重
s=set("aabc"); prin
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小叶pyか

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值