kuanbin专题一简单搜索感悟:

本文探讨了在使用BFS算法时应注意的数据范围限制,避免加入无效状态至队列中。同时,介绍了如何通过覆盖原有数组而非重新创建来提高效率,讨论了不同数组复制方法的性能差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 用bfs注意数据范围,当数字超过数字范围或者到达不可能有答案的状态时就不要加进队列里了。
  2. 不要重复去创建数组,当每次循环要用到新数组时可以覆盖原来的数组,数组的创建比赋值耗时很多。特别是vector的创建特别耗时,普通数组的创建用时还好。
    对于vector,使用copy(a.begin(),a.end(),b.begin())将a数组的所有值赋给b数组;或者for循环赋值
    对于普通数组,使用memcpy(b,a,sizeof(b))将a数组的所有值赋值给b数组,使用memset(b,0,sizeof(b))将b数组的所有值赋值成0,第二个参数为要赋的常数
  3. int arr[100]={1},只有第一个元素是1,其他元素是0,要想全初始化为1先定义数组然后memset
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值