近期学习总结2019/4/20

最近几天的学习主要还是看例题吧。看了这么长时间的题以后,感觉对于搜索有一些思路了。专题里面的练习题题目都过了一遍,找了一道感觉比较简单的试着写了一下,目前还没有过去样例,不过大致的框架是模仿着例题写完了,还没调好,等之后再好好看看吧。成功写出一道以后,其他的应该就会好很多了吧。
我一直以为BFS会用的比较多,因为感觉DFS效率不高而且很容易超时。不过这两天看题发现似乎大部分题目用的都是DFS,有点出乎意料,这个专题写代码是一定要注意用时的问题,除了各种细节以外还要尽量找到最佳的算法,努力节省时间。

关于两种搜索的实现:
BFS具体过程:
1 每次取出队列首元素(初始状态),进行拓展
2 然后把拓展所得到的可行状态都放到队列里面
3 将初始状态删除
4 一直进行以上三步直到队列为空。
DFS具体实现过程:
1 每次取出栈顶元素,对其进行拓展。
2 若栈顶元素无法继续拓展,则将其从栈中弹出。继续1过程。
3 不断重复直到获得目标状态(取得可行解)或栈为空(无解)。

看题时发现bool和map用到的频率特别高,这里总结一点零碎的知识点:
布尔型变量的值只有 真(true)和假(false),可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。
C++中如果值非零就为true,为零就是false。
true是bool型的,TRUE是int型的。
NULL与0没有区别,只不过在C里面会做一个强制类型转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值